C#を使用すると、UDP経由でのブロードキャストは繰り返しパケットを送信しますか?UDPを使ったブロードキャストは、繰り返しパケットを送信しますか?
私はこれまでこの技術を使用したことがなく、LAN経由で小さなビットの情報(小さな1行の文字列)を一時的にブロードキャストしたいと考えています。受信側が準備ができていない場合は、ブロードキャスト自体が繰り返されるのでしょうか、それとも1回限りでしたか?私が使用しているコードはhereです。だから私は放送局の1台のマシンを始動させ、数分後に受信機を始動させ、放送局から送られたものを取り出す。
はここで一度だけパケットを送信することにより、設計コード
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Broadcst
{
public static void Main()
{
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,
ProtocolType.Udp);
IPEndPoint iep1 = new IPEndPoint(IPAddress.Broadcast, 9050);
IPEndPoint iep2 = new IPEndPoint(IPAddress.Parse("192.168.1.255"), 9050);
string hostname = Dns.GetHostName();
byte[] data = Encoding.ASCII.GetBytes(hostname);
sock.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast, 1);
sock.SendTo(data, iep1);
sock.SendTo(data, iep2);
sock.Close();
}
}
すべてのブロードキャストパケットが無期限に自動的に繰り返されると、ネットワークに何が起こるかを想像してください。 –
ああ、あなたのことが分かります。 – JimDel