不是啊。 public static void PrintBroadcastAddress() { // Get the IP Broadcast address and convert it to string. string ipAddressString = IPAddress.Broadcast.ToString(); Console.WriteLine("Broadcast IP address: {0}", ipAddressString); }这是msdn上的,我运行出来了结果就是255.255.255.255
static void Main(string[] args)
{
//接收端:
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);//初始化一个Scoket协议 IPEndPoint iep = new IPEndPoint(IPAddress.Any, 9095);//初始化一个侦听局域网内部所有IP和指定端口 EndPoint ep = (EndPoint)iep; socket.Bind(iep);//绑定这个实例
while (true)
{
byte[] buffer = new byte[1024];//设置缓冲数据流 socket.ReceiveFrom(buffer, ref ep);//接收数据,并确把数据设置到缓冲流里面 Console.WriteLine(Encoding.Unicode.GetString(buffer).TrimEnd('\u0000') + " " + DateTime.Now.ToString());
}
}
//发送端:
while (true)
{
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);//初始化一个Scoket实习,采用UDP传输
IPAddress ip = IPAddress.Broadcast;// IPAddress.Parse("192.168.18.8");
IPEndPoint iep = new IPEndPoint(ip, 9095);//初始化一个发送广播和指定端口的网络端口实例 sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);//设置该scoket实例的发送形式 string request = Console.ReadLine();//初始化需要发送而的发送数据 byte[] buffer = Encoding.Unicode.GetBytes(request); sock.SendTo(buffer, iep); sock.Close();我觉得我的代码写的没有问题啊
public static void PrintBroadcastAddress()
{
// Get the IP Broadcast address and convert it to string.
string ipAddressString = IPAddress.Broadcast.ToString();
Console.WriteLine("Broadcast IP address: {0}", ipAddressString);
}这是msdn上的,我运行出来了结果就是255.255.255.255