已发布,原始帖子位于Ruby Forum,但到目前为止未触发任何回复
使用方法setsockopt
,我可以在套接字上设置各种选项
示例Socket::SO_REUSEADDR
。我想知道
答案 0 :(得分:1)
让我们一步一步地进行。
Socket
来自stdlib。
使用rvm托管安装,文件位于此处:
$HOME/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/socket.rb
(这应该可以帮助您在不同类型的安装中找到它)。
如果您查看文件的来源,您会看到它以require 'socket.so'
开头。这意味着ruby库socket
取决于Unix shared library socket.so
。
获取更多信息的最佳方法是通过Unix手册页。在这种情况下:
man setsockopt
答案 1 :(得分:0)
解决:虽然发布的所有回复都没有直接回答问题(我的系统上的getsockopt / setsockopt手册页(Cygwin)没有包含套接字标志的描述,套接字常见问题解答仅解释了一些旗帜,而不是所有这些的列表),它们都帮助我找出了答案。
首先,我在网上发现了这个getsockopt man page,这非常详细。
此外,由于我从答案中了解到,socket.rb只是本机C上的一个层,我得出结论,真正可用的套接字选项取决于使用的编译器/库和socket.h文件,什么时候编译Ruby。
虽然我不知道如何在Cygwin平台上实现Ruby,但假设使用#include "headers.h"
#include "functions.h"
#include "variables.h"
main(){
<code>
}
并且此文件确实包含可用选项列表(并且简洁描述其含义)。