在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函式來向客戶程式傳送應答。...