【发布时间】:2015-09-05 21:51:30
【问题描述】:
我正在学习 TCPSocket 并编写了一个简单的服务器:
require 'socket'
server = TCPServer.open(2000)
loop {
client = server.accept
p client.gets
client.print("bar")
client.close
}
简单的客户端编写:
require 'socket'
hostname = 'localhost'
port = 2000
socket = TCPSocket.open(hostname, port)
socket.print("foo")
p socket.gets
当我在单独的终端中运行这些时,服务器或客户端以一种方式通信(即一个“打印”,另一个“获取”),我在另一侧得到预期的字符串。当我按照所写的方式运行这些时,客户端首先“打印”一条消息给服务器,然后服务器“获取”它然后“打印”一个字符串给客户端,它只是挂起。是什么导致了这个问题?
【问题讨论】:
标签: ruby sockets server client tcpsocket