When trying to run the following code (excerpt) using sockets
with ruby 165-2 (cygwin port) and higher releases using the native win32
ports from the pragmatic programmers:
···
require "ProcessManager.rb"
require ‘Socket’
a = ProcessManager.instance
runEndless = true
Open the server connection
gs=TcpServer.open(0)
adress=gs.adress
adress.shift
printf (“Process Server started on %s\n”,adress.join(":"))
Mainloop
while runEndless
Thread.start(gs.accept) do |s|
print (s, " has connected")
theConn = PMConnection::new(s)
# print the welcome message
theConn.welcomeMessage
theConn.prompt
# commandline loop
while( theConn.doCommand )
theConn.prompt
end
#goodby to the thread
print (s, " has disconnected")
s.close
end #do
end # while runEndless
exit 0
(some code removed…)
i get the following error:
c:\Documents and Settings\jkleemann.JENS-WKS\Desktop\ruby\node>ruby
ProcessServer.rb
ProcessServer.rb:7:in `require’: dlsym: Win32 error 127 -
/cygdrive/g/rubycw/lib/ruby/1.6/i386-cygwin/Socket.so (LoadError)
from ProcessServer.rb:7
Since it seems the ruby kernel cannot load the Socket.so (some form of dll
in the cygwin world i guess) i dont know what to do. This problem occurs
under winXP, win2K with cygwin 165-2 and win32 168-8. Any idea
the path to the .so is g:\rubycw… so the cygwin mapping
(/cygdrive/g/…) seems to be ok