LINUX DOTNET      Linux DotNET 中文社区

Linux .NET编程与应用技术之专业网站:www.linuxdot.net !     返回首页    
   
[楼主] UDP的多路广播组的发送和接收(C#)

下列范例使用 UdpClient,在通讯端口11000传送UDP 资料包至多点传送位址群组 224.268.100.2。它传送命令列上指定的信息字串。
[C#]  
using System;  
using System.Net;  
using System.Net.Sockets;  
using System.Text;  

public class UDPMulticastSender {  

private static IPAddress GroupAddress =  
IPAddress.Parse("224.168.100.2");  
private static int GroupPort = 11000;  

private static void Send( String message) {  
UdpClient sender = new UdpClient();  
IPEndPoint groupEP = new IPEndPoint(GroupAddress,GroupPort);  

try {  
Console.WriteLine("Sending datagram : {0}", message);  
byte[] bytes = Encoding.ASCII.GetBytes(message);  

sender.Send(bytes, bytes.Length, groupEP);  

sender.Close();  

} catch (Exception e) {  
Console.WriteLine(e.ToString());  
}  

}  

public static int Main(String[] args) {  
Send(args[0]);  

return 0;  
}  
}  
 

下列范例使用 UdpClient,在通讯端口   11000   监听广播到多点传送位址群组 224.168.100.2 的 UDP   资料包。它接收信息字串,并將信息写入主控台 (Console)。  

[C#]  
using System;  
using System.Net;  
using System.Net.Sockets;  
using System.Text;  

public class UDPMulticastListener {  

private static readonly IPAddress GroupAddress =  
IPAddress.Parse("224.168.100.2");  
private const int GroupPort = 11000;  

private static void StartListener() {  
bool done = false;  

UdpClient listener = new UdpClient();  
IPEndPoint groupEP = new IPEndPoint(GroupAddress,GroupPort);  

try {  
listener.JoinMulticastGroup(GroupAddress);  
listener.Connect(groupEP);  

while (!done) {  
Console.WriteLine("Waiting for broadcast");  
byte[] bytes = listener.Receive( ref groupEP);  

Console.WriteLine("Received broadcast from {0} :\n {1}\n",  
groupEP.ToString(),  
Encoding.ASCII.GetString(bytes,0,bytes.Length));  
}  

listener.Close();  

} catch (Exception e) {  
Console.WriteLine(e.ToString());  
}  

}  

public static int Main(String[] args) {  
StartListener();  

return 0;  
}  
}   

作者:network   发布时间:08年04月20日   可选操作:删除 回复

 
   
   

留言回复:
标题: * 标题必填
作者:   * 请填上你的名字  
操作键:   * 填入几个字母表示是您写的,便于进一步操作
发言内容:
 
发贴者须知:
1、您无需注册即可发贴,但是,贴子内容必须在法律法规和社会公德所允许的范围内;
2、本站专注IT技术,谢绝包括政治、社会、情感等任何与IT技术无关的贴子在本站发表;
3、本站保留对任何贴子进行删除、禁用、更改、举报、追究等所有权利;
 
今天是: 周七  周二  周一  周三  周四  周五  周六