C/C++網絡編程4——實現基於TCP的服務器端/客戶端1


一、TCP服務器調用順序:

 

   調用socket函數創建套接字;聲明並初始化地址信息結構體變量;調用bind函數向套接字分配地址;調用listen函數進入等待連接請求狀態,只有調用了listen函數后客戶端才能調用connet函數,調用listen函數時,若請求隊列為空,listen函數不會返回。

#include <sys/socket.h>

// 成功返回0,失敗返回-1 int listen(int sock, int backlog); sock : 希望進入等待連接請求狀態的套接字文件描述符 backlog : 請求等待隊列的長度

  調用listen函數以后,若有連接請求,則應調用accept函數按序受理。

#include <sys/socket.h>

// 成功返回創建的套接字文件描述符,失敗返回-1 int accept(int sock, struct sockaddr * addr, socklen_t * addrlen); sock : 服務器套接字的文件描述符 addr : 保存發起連接請求的客戶端地址信息的變量地址值 addrlen : 保存參數addr結構體的長度

 

二、TCP客戶端調用順序:

 

 

#include <sys/socket.h>

int sonnect(int sock, struct sockaddr * aservaddr, socklen_t addrlen);
sock : 客戶端套接字文件描述符
servaddr : 服務器端地址
addrlen : 服務器端地址長度

  客戶端的IP地址和端口在調用connect函數的時候自動分配,無需調用標記的bind函數進行分配。

 

三、TCP服務器端和客戶端函數調用關系:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM