加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

许多客户端连接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时才进行实际线程.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读