java中Socket學習(適合新人)

最近有人私信我說,我寫的博客有些膚淺,沒有深究,在此我統一回復一下,這些博客大多都是概念性東西,是用通俗的例子讓你理解這個技術或者知識到底是怎麼一樣原理。
所以我在後面都加着適合新人,我們都是從新人走過來的,知道初學者的那種迷茫,只會代碼,不懂原理和含義,就比如,註解,你不去學習理解,初學者根本就不知道那是個什麼東西,爲什麼要使用註解。
如果是資深大牛,那就不要看了,還是那句話,適合新人。

1,什麼是Socket

網絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個連接的一端稱爲一個socket。

java中的Socket

而Java中的Socket其實就是兩個設備之間進行數據交換格式。

2,Socket的理解

建立網絡通信連接至少要一對端口號(socket)。socket本質是編程接口(API),對TCP/IP的封裝,TCP/IP也要提供可供程序員做網絡開發所用的接口,這就是Socket編程接口;HTTP是轎車,提供了封裝或者顯示數據的具體形式;Socket是發動機,提供了網絡通信的能力。

Socket的英文原義是"孔"或"插座"。作爲BSD UNIX的進程通信機制,取後一種意思。通常也稱作"套接字",用於描述IP地址和端口,是一個通信鏈的句柄,可以用來實現不同虛擬機或不同計算機之間的通信。在Internet上的主機一般運行了多個服務軟件,同時提供幾種服務。每種服務都打開一個Socket,並綁定到一個端口上,不同的端口對應於不同的服務。

Socket正如其英文原意那樣,像一個多孔插座。一臺主機猶如佈滿各種插座的房間,每個插座有一個編號,有的插座提供220伏交流電, 有的提供110伏交流電,有的則提供有線電視節目。 客戶軟件將插頭插到不同編號的插座,就可以得到不同的服務。

3,網絡編程ip,端口,域名。

3.1 IP

ip就是每臺計算機的唯一標識符

3.2 端口

端口就是每一個應用程序的唯一標識符

3.3 域名

域名通過DNS解析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章