From: Glen Holcomb Date: 2008-04-15T03:13:15+09:00 Subject: Re: help need in chat client/server ------=_Part_30069_25661339.1208196793886 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline On Mon, Apr 14, 2008 at 11:25 AM, HadsS wrote: > Hey... > Im new to this network programmin and I need help with this code i > copied and changed a little. > this is a client/server chat.. > ----------------------- > Server code: > > require "socket" > PORT = 12321 > server = TCPServer.new(PORT) > flag=true > while (session = server.accept) > while flag==true > print "Sending:" > line=gets.chomp! > session.puts line > end > end > ---------------- > > Client Code: > require "socket" > > PORT = 12321 > HOST = ARGV[0] || "localhost" > flag=true > session = TCPSocket.new(HOST, PORT) > while flag==true > line = session.gets > puts "Recived:#{line} " > end > --------- > > i dont know what i did but its sort of doing a one way communication.. > can someone please help me with creating two clients and making them > chat 2way amongst them.. > please.. i would really be thankfulll > waiting for a reply > > There are a few logical/structural problems here: Firstly, it is only one way because one end is sending and the other listening but the sending end never listens and the listening end never sends. Secondly, control in this is going to be painful as it is. You probably want to thread your program so that each end can "talk" and "listen" at the same time. You could make it clunky and just switch between the two but that would be rather un-intuative. I would offer up some sample code but haven't done any socket programming in Ruby and am currently at work I bet someone will come along with more useful info though (I offer this as something to get you going in the right direction until then). -- "Hey brother Christian with your high and mighty errand, Your actions speak so loud, I can't hear a word you're saying." -Greg Graffin (Bad Religion) ------=_Part_30069_25661339.1208196793886--