问题标签 [getsockopt]
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.
tcp - 为什么 getsockopt() 上的 TCP_INFO 选项返回矛盾的值?
我做一个
当我打印tcpi_state
并且tcpi_ca_state
我得到
getsockoptSO_ERROR
不返回错误 (0)。
我该怎么办?
当我使用 sfd 执行 getpeername 时,我返回“传输端点未连接”。
tcp_info 结构不可靠吗?
c - Windows 上的套接字选项 TCP_NODELAY 需要 8 位布尔值?
这是我的示例代码(对不起,它很长):
印刷:
任何人都可以重现这个吗? 注意:我在 Win7, x64 上用 VS2010 编译 x32 应用程序。
getsockopt上的文档说我应该使用BOOL
. IPPROTO_TCP上的文档说我应该使用DWORD
. 但是两者都不起作用。当您设置OPT_TYPE
为 8 位类型(例如char
)时,它可以工作。我错过了文档上的某些内容吗?
tcp - 从 getsockopt 返回的 TCP_INFO 给出哪个方向(入站或出站)?
tcp_info 结构提供有关当前 TCP 连接的有用统计信息。但是,我不确定flow
这些统计数据指的是哪个。
对于双向连接,意味着 afd
既可以读取也可以写入,一些 stat 指的是什么?出站流量还是入站流量?
例如。确实tcp_info.tcpi_rcv_space
是指本地机器的入站流的接收缓冲区大小,即本地机器的接收缓冲区,或者是出站流到远程机器的接收缓冲区的广告大小,即远程的接收缓冲区机器?
非常感谢!
c - getsockopt api设计问题
我们可以看到 api 被定义为打击
问题一:
假设给定一个级别和optname,那么我们知道了optlen,为什么还需要用户提供optlen参数呢?
甚至用户提供了 optlen,为什么它是指向 socklen_t 而不是直接指向 socklen_t 的指针?实现会以某种方式改变 optlen 的值吗?
谢谢
python - 如何通过getsockopt知道“序列号”?
我在地址“127.0.0.0”上监听我自己的绑定套接字,并发送一些流量。套接字是 SOCK_STREAM。我可以使用getsockopt获取传入数据包的序列号和确认号吗?如果你现在,请写下这个函数的参数。在 python 谢谢你:)
qt - 从 Qt 获取 SO_RCVBUF 套接字选项值
我想获取 Qt 使用的 SO_RCVBUF 套接字选项的值,以确保它默认使用系统值(我已更改)。
但以下代码返回“无效”QVariant:
这是否意味着socketOption()
Qt 方法仅在使用 设置时才获取值setSocketOption()
?
还是我犯了一个错误?
c - printf("%m") 报错但 errno 设置为 0
我正在非阻塞地连接到 TCP 套接字。
printf("%m")
打印出来Operation now in progress
但errno
设置为0
. 我也在打印之前保存errno
' 的值,以确保printf
不会摆弄它。这很奇怪 -printf
应该输出Success
。我的意思是显然问题是当我访问时errno
我得到0
. 如果这很重要,我在一个相当旧的内核(大约 2.6)上使用 uclibc。我真的找不到vsprintf
访问方式errno
与我访问方式之间的任何区别*__errno_location()
。
或者,我如何判断我的套接字是否存在实际问题,connect
或者它是否仍在连接?
例子:
输出:
我期望以下输出:
因为 115 是 EINPROGRESS
c - 为什么getsockopt optlen 为零?
我使用非阻塞套接字和事件库。我刚刚注意到,当我快速调用连接到我的本地 ip 端口getsockopt(fd, SOL_SOCKET, SO_ERROR, &val, &optlen);
时, optlen 随机变为 0。
我试图制作能够显示问题的更小的代码。我在这段代码中使用了 epoll,但同样的问题也发生在其他事件库中。
当我跑步时;
optlen 0 是否意味着套接字因某种原因关闭?我们需要在它之后关闭套接字吗?
c++ - getsockopt TCP_MAXSEG 返回一个不准确的值(linux)
我创建了一个套接字-> 设置套接字 mss-> 连接-> 调用GetMss
并从设置的值中得到了一个较低的值(通常获取 mss 结果给出了设置的值负 12 ......但有时甚至是 -30 和 -50)。
我尝试设置的每个 mss 值都发生了这种情况……从 536 到 1280……。为什么会发生这种情况?为什么调用 get mss 时得到的值不准确?这是对齐问题吗?套接字 mss 确实设置为低于我尝试设置的原始 mss 的值?
为什么有时 getmss 结果是我尝试在套接字 mss 中设置的 mss 负 12,有时是负 20,有时是 -50?