我用udp套接字编程创建了两个文件,一个发送和其他接收,我确实把接收到的文件放在另一台计算机上与不同的提供商,我执行了发送器,接收器后,我确实看到接收器没有收到否数据包,ip配置没问题,发送方发送到接收方IP和端口,有些人说我需要打开" udp端口,但MMORPG游戏使用这种策略,这是必要的吗?接收器在您的IP和定义端口上执行Bind(),请参阅代码。
发信人:
begin
sender = UDPSocket.new()
host = "10.100.1.115"
port = 3001
while true
p "Enviando..."
sender.send("Numero #{10}",0,host,port)
sleep 0.1
end
rescue
p $!
end
gets
接收器:
begin
myIP = IPSocket.getaddress(Socket.gethostname) # => 10.100.1.115
puts "Seu IP => #{myIP}"
sock = UDPSocket.new()
sock.bind(myIP,3001)
puts "#=========================#"
puts "....Esperando Pacotes....."
puts "#=========================#"
while true
line = sock.recvfrom(1024)
puts "Recebido : #{line}"
end
rescue
p $!
end
gets
有什么不对吗?我需要使用NAT?如果是的话,我怎么用?通用策略用于游戏开发者制作客户端套接字udp由服务器计算机接收发送数据包的内容是什么?
(抱歉,我的英语很糟糕,我知道)。
答案 0 :(得分:1)
如果另一台计算机位于路由器或NAT后面,则必须在路由器上进行配置,以将数据包转发到实际计算机。