使用ruby聊天应用程序

AHm*_*Net 1 ruby sockets chat

我试图在linux上使用ruby构建一个聊天应用程序,所以我的客户端不能发送很多消息,它只是在第一个发送一条消息

服务器代码:

#!/usr/bin/ruby
require 'socket'

server = TCPServer.new(2008)

while (session = server.accept) && (input = session.gets)
    puts input

end 
Run Code Online (Sandbox Code Playgroud)

客户代码:

#!/usr/bin/ruby
require 'socket'


begin
 clientSession = TCPSocket.new( "localhost", 2008 ) 

rescue StandardError => bang
  puts "Error !! "
else


while !(clientSession.closed?) 

print "Enter message :  "
msg = gets
clientSession.puts msg 
end

end
Run Code Online (Sandbox Code Playgroud)

非常感谢你的时间!

Cas*_*per 6

你的问题在这里:

while (session = server.accept) && (input = session.gets)
  puts input
end 
Run Code Online (Sandbox Code Playgroud)

您正在接受while循环中的连接.你想要的是首先接受连接,然后循环:

connection = server.accept

while (input = connection.gets)
  puts input
end
Run Code Online (Sandbox Code Playgroud)

  • 艾哈迈德,你应该把这个答案标记为解决方案 (2认同)