?? 14.2.2 基于 tcp(面向連接)的 socket編程.txt
字號:
14.2.2 基于 TCP(面向連接)的 socket編程
基于 TCP(面向連接〉的 socket編程的服務器端程序流程如下:
①創建套接字 (socket)。
②將套接字綁定到一個本地地址和端口上 (bind)。
3 將套接字設為監昕模式,準備接收客戶請求 (listen)。
4等待客戶請求到來:當請求到來后,接受連接請求,返回個新的對應于此次連接的套接字
(accept)
⑤用返回的套接字和客戶端進行通信( sendlrecv )。
6返回,等待另一客戶請求。
由關閉套接宇。
基于 TCP(面向連接)的 socket編程的客戶端程序流程如下:
1,創建套接字 (socket。
組向服務器發出連接請求 (connect)。
由和服務器端進行通信( sendlrecv )。
④關閉套接字。
在服務器端,當調用 accept函數時,程序就會等待,等待客戶端調用 connect函數發出連接請
求,然后服務器端接受該請求,于是雙方就建立了連接。之后,服務器端和客戶端就可以利用 send
和 recv函數進行通信了。讀者應注意,在客戶端并不需要調用 bind函數。因為服務器需要接收
客戶端的請求,所以必須告訴本地主機它打算在哪個 IP地址和
哪個端口上等待客戶請求,因此必須調用 bind函數來實現這一功能。而對客戶端來說,當它發
起連接請求,服務器端接受該請求后,在服務器端就保存了該客戶端的 IP地址和端口的信息。
這樣,對服務器端來說,一旦建立連接之后,實際上它己經保存了客戶端的 IP地址和端口號的信
息,因此就可以利用所返回的套接字調用 sendlrecv函數與客戶端進行通信。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -