gpt4 book ai didi

ruby - tcp 客户端无法从 eventmachine 接收数据

转载 作者:可可西里 更新时间:2023-11-01 02:49:46 24 4
gpt4 key购买 nike

有代码,客户端:

require 'rubygems'
require 'benchmark'
require 'socket'

i=0
TCPSocket.open "127.0.0.1", 8080 do |s|
s.send "#{i}th sending", 0
if line = s.gets
puts line
end
end

服务器:

require 'rubygems'
require 'benchmark'
require 'eventmachine'
class Handler < EventMachine::Connection
def receive_data(data)
sleep 2 # simulate a long running request
send_data "send_response"
puts data
end
end

EventMachine::run {
EventMachine::start_server("0.0.0.0", 8080, Handler)
puts "Listening..."
}

客户端无法打印任何东西

最佳答案

它是客户端中的s.gets 和服务器中的send_data "send_response" 之间的交互。

当我改变时,你的小测试对我来说工作正常:

send_data "send_response"

send_data "send_response\n"

s.gets 正在等待来自远程客户端的换行符。没有人来。

关于ruby - tcp 客户端无法从 eventmachine 接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5828893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com