1) Socket通訊過程
==>伺服器端監聽:伺服器端socket並不定位具體的用戶端socket,而是處於等待監聽狀態,即時監控網路狀態。
==>用戶端請求:用戶端clientSocket發送串連請求,目標是伺服器端的serverSocket,因此,用戶端clientSocket必須知道伺服器端serverSocket的IP地址和連接埠號碼,用來進行掃描進行發送串連請求。
==>串連確認:當伺服器端socket監聽到或者是收到用戶端socket串連請求時,伺服器端就相應用戶端的串連請求,建立一個新的socket,把伺服器端socket發送到用戶端,一旦用戶端確認串連,則串連建立。(注意:在串連確認階段,伺服器端socket即使和用戶端socket建立串連後,還在處於監聽狀態,仍然可以接受到其他用戶端的串連請求,也就是一個伺服器端是可以對應多個用戶端的)。
2) 學習Socket類
==>Socket類學習
public Socket(AddressFamily addressFamily,SocketType socketType,ProtocolType protocolType);
(這是TCP協議的建立Socket)
addressFamily表示的是網路類型,一般使用AddressFamily.InterNetwork(Ipv4);
socketType表示socket類型,TCP使用的是SocketType.Stream;
protocolType表示使用的協議,Tcp使用ProtocolType.Tcp。
(這是UDP協議的建立Socket)
addressFamily表示的是網路類型,一般使用AddressFamily.InterNetwork(Ipv4);
socketType表示socket類型,UDP使用的是SocketType.Dgram;
protocolType表示使用的通訊協定,UDP使用ProtocolType.Udp;