TCP Socket Programming

M

Mac Man

Hi

I am trying to establish communication between 2 applications.
On executing the below piece of code on client side application, I get
this error

socket_client.rb:3:in `initialize': Bad file descriptor - connect(2)
(Errno::EBADF) from socket_client.rb:3:in `new'

#########
code:
#########

require 'socket'

client_side = TCPSocket.new('localhost',1045)
puts "Enter some text: "
text=gets()




Server side code works fine and is implemented as displayed below.
require 'socket'

###########
code:
###########

server_side=TCPServer.new('localhost','1025')
port = server_side.accept
data = port.recvfrom(256)[0]
puts data


Any suggestions on what could be the possible problem?
PLease Help

Macman
 
M

Mac Man

sorry...that was a mistake..typo error.
both client and server are pointing to the same port 1045.

Actually the code goes this way...

client_side = TCPSocket.new('localhost','1045')
print "Enter some text: "
text=gets()
client_side.write(text)

I am writing the input text to the server side.

An issue I found was that this error occurs only in version 1.8.6.
I tried the same code on version 1.8.1 and it worked, but got a
different error as below.

in 'recvfrom' : getnameinfo: ai_family not supported. (SocketError)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,967
Messages
2,570,148
Members
46,694
Latest member
LetaCadwal

Latest Threads

Top