问题标签 [setsockopt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - OSX 上的getsockopt 返回不正确的值?
我正在使用以下程序来调试更大的问题。
现在,如果我在 OSX 上运行相同的程序,getopt 永远不会返回 0 或 1,它总是返回我设置的 optval 的任何值!
在我的程序中一定有一些明显的错误正在逃避我。
示例 我已将该程序作为 ./a.out 64.233.160.105 运行
这是我正在使用的示例程序。
c++ - 如何使用 setsockopt 在 C++ 中设置套接字选项
尽管如此,我的代码还是有问题。
这是它的一部分,不断收到此错误 C2664: cannot convert parameter 4 from 'int' to 'const char *'
linux - 透明 stunnel 代理 setsockopt 不允许操作
我正在尝试在服务器上为 websocket 服务运行一个透明的 stunnel4 代理。
WS 服务器基于 Ratchet 框架,因此不支持 WSS,因此需要代理。
当在 stunnel.conf 中将 transparent 设置为 none 时,websocket 流量可以顺利通过,并且除了 WS 服务器而言,所有流量都来自 127.0.0.1 之外,一切都运行良好。但是,一旦将透明设置为源,客户端就会得到
WebSocket connection to 'wss://<ADDR>:32770/' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET
据我所知,问题始于setsockopt IP_TRANSPARENT: Operation not permitted (1)
stunnel 日志。我已经设置了 stunnel 文档中所需的所有 iptables 设置,并确保一切都以 root 身份运行。我已经解决这个问题三天了,我的搜索词的所有变体都变成了紫色,但无济于事。我希望这里有一个服务器向导来帮助我解决问题。
stunnel 文档参考:https ://www.stunnel.org/static/stunnel.html#SERVICE-LEVEL-OPTIONS
设置:
服务器正在运行 Ubuntu 12.04.5 LTS (GNU/Linux 2.6.32-042stab093.4 x86_64)
使用 stunnel 4
open_server.php 文件:
stunnel.conf:
尝试使用 transparent = source 命中套接字时的整个调试输出:
检查权限时的 Bash 输出:
c - Linux 原始套接字缓冲区大小是否有 256 K 的上限?
我在 Centos 中使用以下代码将原始套接字缓冲区大小更改为 400 KB,但是当我将缓冲区大小设置为 256 KB 时,我得到了相同的结果。哪里不对了?或者这是套接字层的限制?内核版本为 2.6.34。谢谢!
运行后,结果为:
c - 本地套接字选项集与指向套接字选项集的指针
我想知道...如果您创建一个具有简单套接字参数的函数,并且您在该函数中执行基本指令,例如为该套接字(setsockopt()
)设置不同的选项,并且在函数存在后它仍然是选项,那么实际的区别是什么?或者我应该将该参数指针指向该套接字,以保留套接字将发生的实际更改。
还是像这样?
我知道通过将指针传递给 struct、int、char 等,您可以在函数执行后修改值,如果没有指针,修改将仅在该函数中保持本地,但不会全局更改。
但是setsockopt
功能如何呢?
select - 使用 setsockopt() 和 select() 设置 UDP 超时
我知道这两个都可以用来设置 recvfrom() 的超时,但是哪个更好呢?直观上看,setsockopt 似乎使用起来很简单,但我发现很多例子都在使用 select()。我只使用一个套接字,并且在传输中重新计算超时(我使用的是 Ubuntu)。
sockets - 如何禁用设置的超时 setsockopt()?
在我正在开发的程序中,我设置了一个超时使用setsockopt()
,以防止recvfrom()
无限期阻塞。如何禁用超时?
(我在 Ubuntu 上)
c - 在 Linux C 程序中的非特权套接字(非原始)上设置 TCP 选项
在 Linux C 程序中,我可以为非特权套接字(非原始)上的传出 TCP 数据包设置哪些 TCP 选项?我指的是 TCP Header 中的 TCP Options。
我已经检查了http://linux.die.net/man/7/tcp所以现在我可以添加/编辑:
MSS、时间戳、窗口比例、Sack、快速打开(见下面的答案)
有没有办法添加其他选项?我对多路径特别感兴趣,但任何选项都会有所帮助。
谢谢!
c - 套接字缓冲区大小不增加
输出是 -
当前套接字缓冲区 len = 41600
setsock 选择成功
设置套接字 buff len = 41600 后。
看起来接收缓冲区大小没有增加,知道为什么会这样吗?
提前致谢!
c++ - 使用 setsockopt() 指定超时选项会导致后续监听错误
现在,我正在尝试setsockopt()
使用以下代码指定选项:
注意tv
是一个已经指定的时间。
当我只打第一个setsockopt()
电话时,一切正常。但是,添加第二个(不返回任何错误)后,我遇到了代码中指定的第二个“监听错误”。我不确定为什么设置超时值会影响这一点,有人可以解释一下吗?
我不相信指定的代码;它是根据此处教程中提供的代码修改的:http: //codebase.eu/tutorial/linux-socket-programming-c/