我想编写一个服务器来侦听给定的 TCP 端口,捕获传入数据并一次处理一个字节(传入的数据量很小 - 每小时几千字节)
为了简单起见,我想将接收到的字符的 ASCII 代码回显到控制台。我有一个基于字符串的工作实现,但不知道如何使服务器立即处理字节而不是等待 CR/LF。
任何帮助表示赞赏!我正在使用 Ruby 3.3.1
我尝试使用
data = socket.recvfrom(1000)
,但据我所知,这仍然等待 CR/LF
尝试使用
socket.getbyte
。这将返回下一个接收字节的 ascii 代码。然后您可以使用 Integer#chr
打印该字节。
socket.getbyte # => 104
socket.getbyte.chr # => "h"
然后您可以将其放入循环中以将传入的数据打印到控制台。
loop do
puts socket.getbyte.chr
end