Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何禁用ruby UDPSocket解析recvfrom上的IP地址?_Ruby_Sockets_Ruby 1.8.7 - Fatal编程技术网

如何禁用ruby UDPSocket解析recvfrom上的IP地址?

如何禁用ruby UDPSocket解析recvfrom上的IP地址?,ruby,sockets,ruby-1.8.7,Ruby,Sockets,Ruby 1.8.7,在执行数据时,addr=@socket.recvfrom(1500),addr数组包含数组:[“AF_INET”,port,“resolved name or ip”,“ip”] 如何禁用UDPSocket上的解析?ruby UDPSocket的文档有点糟糕 在中,您可以在connect方法中看到调用的rsock\u addrinfo方法 此方法调用getaddrinfo 所以我看不到解决方法,您必须调用另一个connect方法 也许你可以添加一些代码行以便更好地理解?恐怕你不能 static

在执行数据时,addr=@socket.recvfrom(1500),addr数组包含数组:[“AF_INET”,port,“resolved name or ip”,“ip”]

如何禁用UDPSocket上的解析?ruby UDPSocket的文档有点糟糕

在中,您可以在
connect
方法中看到调用的
rsock\u addrinfo
方法

此方法调用
getaddrinfo

所以我看不到解决方法,您必须调用另一个connect方法

也许你可以添加一些代码行以便更好地理解?恐怕你不能

static VALUE

udp_connect(sock, host, port)
VALUE sock, host, port;
{
rb_io_t *fptr;
struct udp_arg arg;
VALUE ret;

rb_secure(3);

arg.res = sock_addrinfo(host, port, SOCK_DGRAM, 0);

GetOpenFile(sock, fptr);
arg.fd = fileno(fptr->f);
ret = rb_ensure(udp_connect_internal, (VALUE)&arg,
                RUBY_METHOD_FUNC(freeaddrinfo), (VALUE)arg.res);
if (!ret) rb_sys_fail("connect(2)");
return INT2FIX(0);
}
来源:

在中,您可以在
connect
方法中看到调用的
rsock\u addrinfo
方法

此方法调用
getaddrinfo

所以我看不到解决方法,您必须调用另一个connect方法

也许你可以添加一些代码行以便更好地理解?恐怕你不能

static VALUE

udp_connect(sock, host, port)
VALUE sock, host, port;
{
rb_io_t *fptr;
struct udp_arg arg;
VALUE ret;

rb_secure(3);

arg.res = sock_addrinfo(host, port, SOCK_DGRAM, 0);

GetOpenFile(sock, fptr);
arg.fd = fileno(fptr->f);
ret = rb_ensure(udp_connect_internal, (VALUE)&arg,
                RUBY_METHOD_FUNC(freeaddrinfo), (VALUE)arg.res);
if (!ret) rb_sys_fail("connect(2)");
return INT2FIX(0);
}
来源:

好的。我找到了

我会把它记录在这里,以便有人能幸运地找到它

要禁用自动查找,请在代码中输入以下内容:

BasicSocket.do_not_reverse_lookup = true
在创建套接字之前。它成功了

好的。我找到了

我会把它记录在这里,以便有人能幸运地找到它

要禁用自动查找,请在代码中输入以下内容:

BasicSocket.do_not_reverse_lookup = true

在创建套接字之前。它成功了

我的错,我忘了放ruby版本:(,我用的是ruby 1.8.7我的错,我忘了放ruby版本:(,我用的是ruby 1.8.7