私はudpソケットプログラミング、送信と他の受信で2つのファイルを作成し、受信するファイルを別のプロバイダーの別のコンピューターに置きました。送信者を実行し、受信者の後に、受信者がパケットを受信していないことを確認しました。送信者は受信者の 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にサーバーコンピューターによる送信パケットを受信させるために使用する共同戦略は何ですか?
(すみません、私の英語は下手です、私は知っています)。