Ruby TCPSocket写不起作用,但是put呢?

nat*_*han 6 ruby sockets tcp

我正在使用GServer和TCPSocket开发Ruby TCP客户端/服务器应用程序.我遇到了一个我不明白的问题.我的TCPSocket客户端成功连接到我的GServer,但我只能使用puts发送数据.调用TCPSocket.send或TCPSocket.write什么都不做.我缺少一些魔法吗?

tcp_client = TCPSocket.new( ipaddr, port )
tcp_client.puts( 'Z' ) # -> GServer receives "Z\n"
Run Code Online (Sandbox Code Playgroud)

但如果我使用写或发送...

tcp_client = TCPSocket.new( ipaddr, port )
tcp_client.write( 'Z' ) # -> nothing is received
tcp_client.send( 'Z' ) # -> nothing is received
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

附加信息:

  1. Linux和Windows上的行为是相同的.
  2. 写入后刷新套接字不会改变行为.

Duc*_*uck 4

你确定问题不是出在服务器端吗?您是否使用某种方法来读取需要字符串或以“\n”结尾的内容?