gpt4 book ai didi

带有 "watchdog"的 Ruby 线程

转载 作者:行者123 更新时间:2023-12-03 12:06:14 26 4
gpt4 key购买 nike

我正在实现一个 ruby​​ 服务器来处理从 GPRS 模块创建的套接字。问题是当模块掉电时,没有迹象表明 socket 已关闭。

我正在做线程来处理同一个服务器的多个套接字。我要问的是:有没有办法在线程内使用计时器,在每次套接字输入后重置它,如果它达到超时,关闭线程?我在哪里可以找到有关此的更多信息?

编辑:未检测到套接字关闭的代码示例

require 'socket'

server = TCPServer.open(41000)
loop do
Thread.start(server.accept) do |client|
puts "Client connected"

begin
loop do
line = client.readline

open('log.txt', 'a') { |f|
f.puts line.strip
}
end
rescue
puts "Client disconnected"
end
end
end

最佳答案

我认为你需要一个心跳机制。

关于带有 "watchdog"的 Ruby 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10039340/

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