日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

socket网络编程——网络编程接口

發布時間:2024/4/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 socket网络编程——网络编程接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網絡編程接口

#include <sys/types.h> #include <sys/socket.h>/* socket()創建套接字,成功返回套接字的文件描述符,失敗返回-1 domain: 設置套接字的協議簇, AF_UNIX AF_INET AF_INET6 type: 設置套接字的服務類型 SOCK_STREAM SOCK_DGRAM protocol: 一般設置為 0,表示使用默認協議 */ int socket( int domain, int type, int protocol);/* bind()將 sockfd 與一個 socket 地址綁定,成功返回 0,失敗返回-1 sockfd 是網絡套接字描述符 addr 是地址結構 addrlen 是 socket 地址的長度 */ int bind( int sockfd, const struct sockaddr *addr, socklen_t addrlen);/* listen()創建一個監聽隊列以存儲待處理的客戶連接,成功返回 0,失敗返回-1 sockfd 是被監聽的 socket 套接字 backlog 表示處于完全連接狀態的 socket 的上限 */ int listen( int sockfd, int backlog);/* accept()從 listen 監聽隊列中接收一個連接,成功返回一個新的連接 socket,該socket 唯一地標識了被接收的這個連接,失敗返回-1 sockfd 是執行過 listen 系統調用的監聽 socket addr 參數用來獲取被接受連接的遠端 socket 地址 addrlen 指定該 socket 地址的長度 */ int accept( int sockfd, struct sockaddr *addr, socklen_t *addrlen);/* connect()客戶端需要通過此系統調用來主動與服務器建立連接, 成功返回 0,失敗返回-1 sockfd 參數是由 socket()返回的一個 socket。 serv_addr 是服務器監聽的 socket 地址 addrlen 則指定這個地址的長度 */ int connect( int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen);/* close()關閉一個連接,實際上就是關閉該連接對應的 socket */ int close( int sockfd);

TCP/UDP數據讀寫接口

/* TCP 數據讀寫: recv()讀取 sockfd 上的數據,buff 和 len 參數分別指定讀緩沖區的位置和大小 send()往 socket 上寫入數據,buff 和 len 參數分別指定寫緩沖區的位置和數據長度 flags 參數為數據收發提供了額外的控制 */ ssize_t recv( int sockfd, void *buff, size_t len, int flags); ssize_t send( int sockfd, const void *buff, size_t len, int flags);/* UDP 數據讀寫: recvfrom()讀取 sockfd 上的數據,buff 和 len 參數分別指定讀緩沖區的位置和大 小 src_addr 記錄發送端的 socket 地址 addrlen 指定該地址的長度 sendto()往 socket 上寫入數據,buff 和 len 參數分別指定寫緩沖區的位置和數據長度 dest_addr 指定接收數據端的 socket 地址 addrlen 指定該地址的長度 */ ssize_t recvfrom( int sockfd, void *buff, size_t len, int flags,struct sockaddr* src_addr, socklen_t *addrlen); ssize_t sendto( int sockfd, void *buff, size_t len, int flags,struct sockaddr* dest_addr, socklen_t addrlen);

總結

以上是生活随笔為你收集整理的socket网络编程——网络编程接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。