開發原理
伺服器:使用socket監聽指定的埠(埠可以隨意指定,但是因為有的作業系統規定1024之前的埠規系統所用,所以我們還是給作業系統讓位,取大於1024的埠),等待客戶連線請求,客戶連線之後,伺服器與客戶端的會話產生,在完成會話之後,關閉連線。
客戶端:使用socket對網路上某乙個伺服器的某一埠(這個埠是伺服器方指定的埠)發出請求,一旦連線成功,開啟會話,會話完成之後,關閉socket。客戶端不需要指定本地的埠,通常是臨時的、動態的分配乙個1024以上的埠。
開發步驟
伺服器端:
第一步:用指定的埠號和伺服器的ip建立乙個endpoint物件;
第二步:建立乙個socket物件;
第三步:用socket物件的bind()方法繫結endpoint;
第四步:用socket物件的listen()方法開始監聽;
第五步:接受到客戶端的連線,用socket物件的accept()方法建立新的socket物件用於和請求的客戶端進行通訊;
第六步:通訊結束後一定記得關閉socket;
客戶端:
第一步:用指定的埠號和伺服器的ip建立乙個endpoint物件;
第二步:建立乙個socket物件;
第三步:用socket物件的connect()方法以上面建立的endpoint物件做為引數,向伺服器發出連線請求;
第四步:如果連線成功,就用socket物件的send()方法向伺服器傳送資訊;
第五步:用socket物件的receive()方法接受伺服器發來的資訊 ;
第六步:通訊結束後一定記得關閉socket;
先寫到這裡了,這個僅僅是份學習筆記,實際應用正在進行中,有時間再獻上。
Socket的用法 普通Socket
普通socket一般分為serversocket和socket兩大類。serversocket用於服務端,其accept 方法可以用來監聽請求,該方法方法在連線傳入之前一直阻塞,也就是說服務端程式會停留在該方法呼叫處,直到有客戶端請求連線進來。accept 方法會返回乙個socket物件。socke...
非同步SOCKET與同步SOCKET
windows 套接字在兩種模式下執行 i o操作,阻塞和非阻塞。在阻塞模式下,在 i o操作完成前,執行操作的 winsock 函式會一直等待下去,不會立即返回程式 將控制權交還給程式 而在非阻塞模式下,winsock 函式無論如何都會立即返回。windows sockets 的非同步選擇函式 w...
Socket初學認識 Socket模型
socket實際上代表的是網路通訊的乙個端點,通過socket,使用者所開發的應用程式可以通過網路和其他socket應用程式通訊。socket是網路的i o基礎,也可以將它與unix的管道或者檔案模擬。應用程式需要與遠端主機連線時,應建立乙個socket,之後通過socket與遠端應用程式建立連線,...