【问题标题】:socket error while get ip address获取IP地址时出现套接字错误
【发布时间】:2018-05-08 10:59:01
【问题描述】:

当我尝试这段代码时,

require "socket"

begin
    p Socket.ip_address_list
rescue Exception => e
    p "#{e.class} #{e.message}"
end

代码运行并输出 this

"SocketError getnameinfo: Either the application has not called WSAStartup, or WSAStartup failed. "

我正在使用 $ LOADED_FEATURES 运行代码

["enumerator.so", "thread.rb", "rational.so", "complex.so", "C:/Ruby23-x64/lib/ruby/2.3.0/x64-mingw32/socket.so", "C:/Ruby23-x64/lib/ruby/2.3.0/x64-mingw32/io/wait.so", "C:/Ruby23-x64/lib/ruby/2.3.0/socket.rb"]

我该如何解决?请帮帮我...

注意:我用 c++ 调用 ruby​​ 代码运行代码

【问题讨论】:

  • 问题可能与 ruby​​ 无关;它与您的 WSAStartup 相关。请参阅:thisthis。也许只是尝试:netsh winsock reset?
  • 这里,如果我用 IRB 运行代码没问题。但我用 C++ 调用 ruby​​ 代码运行这段代码。我必须插入winsock.dll吗?

标签: ruby sockets ip-address wpa


【解决方案1】:

固定

原来是进入了lws2_32.lib

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 2013-01-20
    • 1970-01-01
    • 2010-12-26
    相关资源
    最近更新 更多