setsockopt

    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

    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

    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

    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后

    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