我正在使用 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"
但是如果我使用 write 或 send...
tcp_client = TCPSocket.new( ipaddr, port )
tcp_client.write( 'Z' ) # -> nothing is received
tcp_client.send( 'Z' ) # -> nothing is received
感谢帮助
附加信息:
- Linux 和 Windows 上的行为相同。
- 写入后刷新套接字不会改变行为。
最佳答案
您确定问题不在服务器端吗?您是否正在使用某种方法来读取需要字符串或以“\n”结尾的内容?
关于Ruby TCPSocket write 不起作用,但是 puts 可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1147852/