setsockopt

    0熱度

    1回答

    我嘗試使用setsockopt函數向接口的多播地址列表添加一個地址,但使用errno EINVAL失敗。我把一些的printk在內核代碼和它看起來像錯誤號最終被內核packet_setsockopt功能,因爲通過了optlen值小於packet_mreq結構的大小設置。對於我的生活,我無法弄清楚爲什麼會發生這種情況。下面是相關代碼: 您的括號 int addMulticastAddress(int

    0熱度

    1回答

    我要問的東西時,我想設置與特定的套接字我調用這個函數 void Server::setReceiveTimeout(unsigned int timeout, SOCKET clientSocket) { if (setsockopt(clientSocket, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout)))

    0熱度

    1回答

    我想從以前添加到接口的別名IP發送數據到多播組。我使用IP_MULTICAST_IF和別名IP調用setsockopt()。但數據總是從該接口的默認IP發送。爲了解釋,我提供了一些代碼。 ip addr show命令給出ens33界面以下輸出: 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state U

    3熱度

    1回答

    我試圖將默認套接字發送緩衝區大小更改爲小尺寸, 以查看UDP吞吐量如何影響小型UDP數據報。 爲此,我使用setsockopt函數與選項SO_SNDBUF和 我試圖將緩衝區大小設置爲64個字節。我也用getsockopt來看 setsockopt函數的結果。 這裏是我使用的代碼: int sock_fd; struct sockaddr_in server_addr; static int t

    0熱度

    1回答

    我想寫一個簡單的UDP服務器,它在多播組上發佈它的服務端口,但我無法讓多播工作。我試着在Microsoft文檔中四處查看,並複製/粘貼了他們的一些代碼,但它不起作用。這裏是有問題的代碼: this->port = srvc_port; //11129 in my example this->mcast_port = mcast_port; //11130 in my example

    4熱度

    1回答

    我繼承了一些所謂的TCP代碼: bind(tcpSocket, (struct sockaddr*)&server_addr, sizeof(server_addr)); 該呼叫之前 setsockopt(tcpSocket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)); 毫不奇怪,這導致了信息:「地址已在使用」。只需交換呼叫順序即可解決問題。

    0熱度

    1回答

    我正在創建一個Linux C++/Qt5應用程序,它爲出站連接(到遠程服務器)打開一個TCP套接字。我創建了一個與QTcpSocket,然後嘗試設置sockopt的選項如下: m_tcpSocket = new QTcpSocket(this); int fd = m_tcpSocket->socketDescriptor(); int enableKeepAlive = 1; // Enab

    0熱度

    1回答

    如何在C中設置UNIX套接字文件描述符的套接字緩衝區大小? 我明白setsockopt可能是涉及的系統調用... 任何人都可以舉一個如何使用它的例子,我找到的人不解釋如何設置緩衝區大小?

    1熱度

    1回答

    如何在原始套接字上設置套接字選項以啓用QDISC_BYPASS?我在C中看到了一些例子,但無法清楚地知道如何在Python中實現它。 我用AF_PACKET和SOCK_RAW設置構造了套接字。 我明白我需要使用socket.setsockopt()方法,但我不知道如何在這種情況下正確調用它。

    0熱度

    1回答

    我收到以下鏈接:SOL_SOCKET in getsockopt() 但是這對我來說真的很讓人困惑。一個答覆說SOL_SOCKET意味着套接字層。什麼是套接字層?有沒有其他選項可用於該參數? 如果我們通過SOL_SOCKET參數,SOL代表什麼,會發生什麼? 我正在使用UNIX。