關於send和recv在UDP的使用

2021-09-29 19:53:22 字數 493 閱讀 6693

在socket程式設計中,包括有連線和無連線兩種方式,其流程如下:

有連線:

tcp客戶端的流程一般是 socket-【bind】-connect-send/recv

無連線:

udp客戶端的流程一般是 socket-【bind】-sendto/recvfrom

send與sento相比,沒有提供對方的位址,在有連線模式中, 連線已經事先建立好,當然不需要每次都提供對方位址。但是,即使在無連線模式中,當準備連線向同乙個目標傳送很多個報文時,每次都要提供對方的位址,這樣 既麻煩又降低效率。其實可以簡化一下,先預設乙個對方位址,隨後就採用send來傳送,而不必都重複地提供相同的位址。事實上,對於無連線模式中,可以用 connect先設定一定對方位址,然後用send傳送報文,而實際上每次都使用預先設定好的地方位址,但是,在無連線中使用connect和有連線中使 用connect有本質的區別,在無連線模式中,connect的作用只是讓核心為本地插口記下預設的對方位址,而不涉及與對方之間控制報文的往返。

recv函式和send函式

int recv socket s,char far buf,int len,int flags 不論是客戶還是伺服器應用程式都用recv函式從tcp連線的另一端接收資料。該函式的第乙個引數指定接收端套接字描述符 第二個引數指明乙個緩衝區,該緩衝區用來存放recv函式接收到的資料 第三個引數指明bu...

recv函式和send函式

recv函式 int recv socket s,char far buf,int len,int flags 不論是客戶還是伺服器應用程式都用recv函式從tcp連線的另一端接收資料。該函式的第乙個引數指定接收端套接字描述符 第二個引數指明乙個緩衝區,該緩衝區用來存放recv函式接收到的資料 第三...

send函式和recv函式

1.send 函式 int send socket s,const char far buf,int len,int flags 不論是客戶還是伺服器應用程式都用send函式來向tcp連線的另一端傳送資料。客戶程式一般用send函式向伺服器傳送請求,而伺服器則通常用send函式來向客戶程式傳送應答。...