111,125
社区成员
发帖
与我相关
我的任务
分享
#region 消息
/// <summary>
/// 显示消息记录及写日志
/// </summary>
/// <param name="msg"></param>
private static void ShowMsg(string msg)
{
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:sss.fff") + ": " + msg);
}
/// <summary>
/// 显示消息记录及写日志
/// </summary>
/// <param name="msg"></param>
private static void ShowExecptionMsg(Exception ex)
{
Console.WriteLine("[异常]" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:sss.fff") + ": " + ex.ToString());
}
#endregion
/// <summary>
/// 初始化程序
/// </summary>
/// <param name="port">要监听的端口号</param>
static void Init(int port)
{
udpserver = new UdpClient(port);
ShowMsg("正在监听端口:"+port.ToString());
IPEndPoint AllIPEndPoint=new IPEndPoint(IPAddress.Broadcast,0);
byte[] Receive=new byte[0];
try
{
while (true)
{
System.Threading.Thread.Sleep(20);
int iReceiveCount = 0;
Receive = udpserver.Receive(ref AllIPEndPoint);
if (Receive.Length > 0)
{
//w
try
{
ShowMsg("收到数据(" + AllIPEndPoint.ToString() + ") " + NomalFunction.ByteArrayToHexString(Receive));
}
catch (Exception ex)
{
ShowExecptionMsg(ex);
}
}
}
}
catch (Exception ex)
{
ShowMsg("接收UDP数据时出错:");
ShowExecptionMsg(ex);
}
finally
{
udpserver.Close();
}
}
ipEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8001);
udpServer.Client.Connect(ipEndPoint);
//把上面两句改为:
ipEndPoint = new IPEndPoint(IPAddress.Any, 0);//这么写是让你的UDPClient能接收所有终端发过来的数据。
// udpServer.Client.Connect(ipEndPoint);
//另外,你Catch到异常之后不应该直接Break,应该看一下异常原因。
ipEndPoint = new IPEndPoint(IPAddress.Any, 0);//这么写是让你的UDPClient能接收所有终端发过来的数据。