我有一个非常简单的 Ruby 程序,它充当“回声服务器”。当您通过 telnet 连接到它时,您输入的任何文本都会被回显。那部分正在工作。如果我添加一个“putc”语句以在运行程序的控制台上打印每个接收到的字符,则只打印显示的第一个字符。之后,它继续向 telnet 客户端回显内容,但控制台上没有打印任何内容。
以下是一个展示该问题的小型精简程序。
我对 Ruby很陌生,可能犯了一个典型的菜鸟错误。我做错了什么?
require 'socket'
puts "Simple Echo Server V1.0"
server = TCPServer.new('127.0.0.1', '2150')
cbuf = ""
while socket = server.accept
cbuf = socket.readchar
socket.putc cbuf
putc cbuf
end