1. 程式人生 > >基於TCP/UDP的socket程式設計流程

基於TCP/UDP的socket程式設計流程

其實Socket程式設計也對應於TCP和UDP的通訊機制:

這裡附上TCP/UDP通訊機制的圖例,對應他們建立通訊的過程,就很容易理解Socket是如何進行通訊的了:

基於TCP(面向連線)的socket程式設計的伺服器端程式如下:

1、建立套接字(socket)
2、將套接字繫結到一個本地地址和埠上(bind)
3、將套接字設為監聽模式,準備接收客戶端請求(listen)
4、等待客戶請求到來,當請求到來後,接收連線請求,返回一個新的對應於此次連線的套接字(accept)
5、用返回的套接字和客戶端進行通訊(send/recv)
6、返回,等待另一客戶請求
7、關閉套接字

基於TCP(面向連線)的socket程式設計的客戶端

程式如下:

1、建立套接字(socket)
2、向伺服器發出連線請求(connect)
3、和伺服器端進行通訊(send/recv)
4、關閉套接字

基於UDP(面向物件)的socket程式設計的伺服器端程式如下:

1、建立套接字(socket)
2、將套接字繫結到一個本地地址和埠上(bind)
3、等待接收資料(recvfrom)
4、關閉套接字

基於UDP(面向物件)的socket程式設計的客戶端程式如下:

1、建立套接字(socket)
2、向伺服器傳送資料(sendto)
3、關閉套接字