原创 IO到NIO的前因後果,以及NIO的用法(1)——Buffer

傳統的IO編程 傳統的IO編程能夠實現客戶端和服務端的通信,但是確實阻塞IO。 下面我們通過一個簡單的例子來看一下:客戶端每隔兩秒發送一個帶有時間戳的"hello world"給服務端,服務端收到之後打印出來。 傳統IO編程實現如下: 以

原创 IO到NIO的前因後果,以及NIO的用法(2)——Selector、Channel

Selector Selector 一般稱 爲選擇器 ,當然你也可以翻譯爲 多路複用器 。它是Java NIO核心組件中的一個,用於檢查一個或多個NIO Channel(通道)的狀態是否處於可讀、可寫。如此可以實現單線程管理多個chann

原创 端口號不能來區分服務

主機是通過“IP地址+端口號”來區分不同的服務的。 一臺擁有IP地址的主機可以提供許多服務,比如Web服務、FTP服務、SMTP服務等,這些服務完全可以通過1個IP地址來實現,因此IP地址與網絡服務是一對多的關係。 由於TCP/IP傳輸層