From: Serge Savoie Date: 2008-09-25T23:01:47+09:00 Subject: Re: Ruby Socket to Java Socket Ok, I have experiment a lot and found that : When the Java Server use : in = requestSocket.getInputStream(); It works... I can read what the Ruby socket is sending... But the real Java server that I have to talk with use : in = new ObjectInputStream( new BufferedInputStream( requestSocket.getInputStream() ) ); And in this case I get : java.io.StreamCorruptedException: invalid stream header at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:753) at java.io.ObjectInputStream.(ObjectInputStream.java:268) at project1.SergeServer1.main(SergeServer1.java:44) The client can't change the server so... Is there a mean to force a header in a way that the ObjectInputStream will be able to read what I send from Ruby ? Here's my test Ruby code : addrinfo = Socket::getaddrinfo('localhost', 9501, nil, Socket::SOCK_STREAM) addrinfo.each do |af, port, name, addr| begin sock = TCPSocket.new(addr, port) sock.send("test", 0) rescue end end Thx in advance ! Seurdge Serge Savoie wrote: > Hello ! > > I have some problem trying to establish dialog between a Ruby > socket(client) and a Java server socket (java.net.ServerSocket). > > Everytime I try to write on the server socket I get an "Invalid stream > header" error from the server... > > s = TCPSocket.open("host", 9061) > s.write("test \n"); > > => Error > > Can someone give a little hint on how to start inthe right way on this ? > > Thx a lot ! > > Seurdge -- Posted via http://www.ruby-forum.com/.