setsockopt

    0熱度

    1回答

    我試圖爲從accept()函數返回的客戶端套接字設置套接字選項。但他們沒有正確設置。 我的目標是在特定的閒置時間後超時。但服務器應該仍然能夠接受其他客戶端連接。 下面是我設置套接字選項的代碼。你能提出什麼問題嗎? while ((new_sock_fd = accept(socket_fd, (struct sockaddr *) &cli_addr, &clilen)) > 0) {

    3熱度

    1回答

    int n = 0; if (0 != getsockopt(iSockFd,SOL_SOCKET,SO_RCVBUF, &n, sizeof(n))) { printf("Get socket option failed, errno: %d\n",errno); } else { printf("Current socket buff len = %d\n", n

    4熱度

    1回答

    報價表這online kernel doc SO_TIMESTAMPING 生成的接收,傳輸或兩者的時間戳。支持 多個時間戳源,包括硬件。支持生成 時間戳流套接字。 Linux支持TCP時間戳,我試圖寫一些演示代碼以獲取TCP數據包時間戳。 下面的服務器代碼: //Bind if(bind(socket_desc,(struct sockaddr *)&server , sizeof(serve

    3熱度

    1回答

    我試着去了解多播代碼,我不明白一小部分的工具: int fd_socket = socket(AF_INET, SOCK_DGRAM, 0); u_int yes = 1; setsockopt(fd_socket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)); 我不明白setsockopt函數的實用程序。我明白,這個函數允許修改內核中的套接

    -1熱度

    1回答

    這是一個比問題更多的確認請求,所以我會保持簡短。 (我遠離我的電腦,所以不能簡單地實施這個解決方案來測試)。 我正在編寫一個程序,將通過攝像頭拍攝的圖像文件(以及元數據)從raspberryPi發送到我的電腦。 我已經計算出圖像大概在130kb左右,包頭是12b,相關的元數據是24b。儘管未來我可能會增加圖像尺寸,但一旦我有了一個可用的原型。 目前我無法成功檢索到整個數據包,因爲在將它發送到PC後

    2熱度

    1回答

    我想檢測傳入的Internet數據包的IP選項。這是我的代碼。 //#define IPPROTO_IP 0 //#define IP_OPTIONS 68 #define SENDER_PORT_NUM 53 #define SENDER_IP_ADDR "127.0.0.1" #define true 1 static void bail(const char *error) {

    0熱度

    1回答

    在Linux C程序中,我可以在非特權套接字(非原始)上爲傳出TCP數據包設置哪些TCP選項?我指TCP報頭中的TCP選項。 我檢查http://linux.die.net/man/7/tcp所以現在我可以添加/編輯: MSS,時間戳,窗口縮放,麻袋,快開(見下面的回答) 有沒有辦法來添加其他選項?我對Multipath特別感興趣,但任何選項都會有幫助。 謝謝!

    0熱度

    1回答

    爲什麼在設置套接字發送/接收緩衝區大小高於sysctl max時沒有錯誤(如下面所示)? 「預期的行爲」沒有錯誤? 我sysctl值插座rmem_max和wmem_max都設置爲212992: net.core.rmem_default = 212992 net.core.rmem_max = 212992 net.core.wmem_default = 212992 net.core.wm

    1熱度

    1回答

    在我一直在負責對有工作的現有的網絡圖書館是setsockopt一個電話,我不明白 在這裏你可以看到一個TCP套接字開始創建: [socket] fd(11) domain(2:AF_INET) type(1:SOCK_STREAM) protocol(0:default) 緊接着,以setsockopt呼叫用於在IPPROTO_TCP協議級別選項SO_BROADCAST製成,具有選項值5 [s

    0熱度

    1回答

    我已經配置TCP保持連接的插座有以下功能: int configure_tcp_keepalive(int fd) { int opt_val = 1; if (setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &opt_val, sizeof(opt_val)) == -1) return -1; int keepcn