ruby udp broadcast example

本文提供了一个使用 Ruby 实现 UDP 广播的简单示例。包括客户端发送消息及服务器接收消息的完整代码,展示了如何设置广播地址并进行数据收发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ruby udp broadcast  example

Here’s a simpler version sender  (client):

require 'socket'
#addr = ['<broadcast>', 33333]# broadcast address
addr = ('255.255.255.255', 33333) # broadcast address explicitly [might not work ?]
#addr = ['127.0.0.255', 33333] # ??
UDPSock = UDPSocket.new
UDPSock.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, true)
(1..100000).each do |i|
  Thread.new do

    data = "I sent this #{i}"
    puts data
    UDPSock.send(data, 0, addr[0], addr[1])
  end
  Thread.new do

    data = "wwwwwwwww #{i}"
    puts data
    UDPSock.send(data, 0, addr[0], addr[1])
  end
  sleep 1
end
UDPSock.close

Receiver (server):


require 'socket'
addr = ['0.0.0.0', 33333]  # host, port
BasicSocket.do_not_reverse_lookup = true
# Create socket and bind to address
UDPSock = UDPSocket.new
UDPSock.bind(addr[0], addr[1])
while true
  data, addr = UDPSock.recvfrom(1024) # if this number is too low it will drop the larger packets and never give them to you
  puts "From addr: '%s', msg: '%s'" % [addr[0], data]
end
UDPSock.close

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值