我想要做的是相当于这段Ruby代码:
def color=(color)
@color = color
any_bar = UDPSocket.new
any_bar.connect HOSTNAME, @port
any_bar.send @color, 0
any_bar.close
end
我找不到其他使用Rust API文档中的UdpSocket
初始化的方法,除了使用bind()
。
我想要做的是相当于这段Ruby代码:
def color=(color)
@color = color
any_bar = UDPSocket.new
any_bar.connect HOSTNAME, @port
any_bar.send @color, 0
any_bar.close
end
我找不到其他使用Rust API文档中的UdpSocket
初始化的方法,除了使用bind()
。
::bind("0.0.0.0:0")
- 这样可以让操作系统为您选择一个IP/端口。这对于发送简单数据报的短暂套接字可能已经足够了。
注意:当使用未绑定的UDP套接字(例如使用从socket()系统调用返回的fd而没有调用bind())调用sendto()时,也会发生这种情况 - 操作系统为您分配一个IP/端口来发送数据报。
AF_INET
或AF_INET6
的套接字。对于IPv6,您还需要使用::bind()
不同的参数 - 如果我没有记错,是::/0
。 - emvee