2017-11-24 3 views
-1

Wenn ich diesen Code versuchen,Socket-Fehler während IP-Adresse erhalten

require "socket" 

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

-Code läuft mit Ausgang dieses

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

Ich laufe Code mit

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"] 

Wie Ich kann das reparieren? Bitte helfen Sie mir ...

Hinweis: ich den Code mit C++ ausführen Aufruf des Ruby-Code

+0

Ausgabe eingegeben zu haben, hat wohl nichts bekam mit Rubin zu tun haben; Es ist mit Ihrem WSAStartup. Siehe: [diese] (https://answers.microsoft.com/en-us/windows/forum/windows_vista-networking/wsastartup0-failed-or-you-have-the-incorrect/8f87e808-3d2c-4d88-a200- 727cb24a40a8? auth = 1) und [diese] (https://superuser.com/questions/633550/wsastartup-failed-or-you-have-the-incorrect-version-of-winsock-installed). Vielleicht versuchen Sie es einfach: 'netsh winsock reset'? –

+0

Hier, wenn ich Code mit IRB ausführen kein Problem. aber ich führe diesen Code mit C++ und rufe den Ruby-Code an. Muss ich winsock.dll einfügen? – Reckordp

Antwort

-1

Fest

Es stellte sich heraus lws2_32.lib

Verwandte Themen