1
我學習的TCPSocket,有一個簡單的服務器寫着:的Ruby的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
當我在服務器或客戶端通信的獨立終端上運行這些一種方法(即一個「打印」和另一個「獲取」)我得到另一邊預期的字符串。當我以寫入的方式運行它們時,客戶端首先「打印」 - 向服務器發送消息,然後服務器「獲取」它然後將字符串「打印」到客戶端,它只是掛起。什麼導致這個問題?