我正在使用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"

但是如果我使用写或发送...
tcp_client = TCPSocket.new( ipaddr, port )
tcp_client.write( 'Z' ) # -> nothing is received
tcp_client.send( 'Z' ) # -> nothing is received

谢谢您的帮助

附加信息:
  • 在Linux和Windows上,行为相同。
  • 写后刷新套接字不会改变行为。
  • 最佳答案

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

    10-07 20:33