许多客户端连接Ruby
发布时间:2020-12-17 02:33:59 所属栏目:百科 来源:网络整理
导读:基本上,我们需要大量(100)数量的远程嵌入式设备来传输数据. 我可以使用以下代码连接到任何单个远程主机: require 'socket'socket = TCPSocket.new '192.168.1.115',8016loop do socket.write("GET_DATA") data = socket.read(32)ends.close 但我想立刻与他
基本上,我们需要大量(100)数量的远程嵌入式设备来传输数据.
我可以使用以下代码连接到任何单个远程主机: require 'socket' socket = TCPSocket.new '192.168.1.115',8016 loop do socket.write("GET_DATA") data = socket.read(32) end s.close 但我想立刻与他们中的许多人联系.有推荐的方法吗? 解决方法
使用线程:
ips = ['192.168.1.115','...','...'] threads = [] ips.each do |ip| threads << Thread.new do # Connect here,do some stuff with the socket end end threads.each { |t| t.join } 请注意,如果你想要真正的线程,你应该使用Jruby或Ruby> = 1.9,MRI ruby??< 1.9(标准ruby)线程实现模拟线程(green threads),并且只在一个线程等待I / O时才进行实际线程. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |