c#中UDP数据发送和接收
2008-01-24 09:06
681 查看
/**//**********************
* 功能:UDP数据发送和接收
* 作者:云涛
* 时间:20070820
* 地点:北京
**********************/
命名空间
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.ComponentModel;
namespace IM.Controls
...{
public class ClsUDPSrv
...{
public ClsUDPSrv()
...{
IsDispose = false;
}
public UdpClient UDP_Srv = new UdpClient();
public static int UDPServer_Port = 2007;
privateint UDPClient_Port;
private Thread td_Udp;
private IPEndPoint IPEP_Srv = new IPEndPoint(IPAddress.Any, 0);
public delegate void DataControlEventHandler(byte[] Data, System.Net.IPAddress Ip, int Port);
public event DataControlEventHandler DataControl;
public delegate void Udp_ErrorEventHandler(string Error);
public event Udp_ErrorEventHandler Udp_Error;
public bool IsDispose = false;
public void Listen(int Port)
...{
try
...{
IsDispose = false;
UDPClient_Port = Port;
UDP_Srv = new UdpClient(Port);
td_Udp = new Thread(new ThreadStart(UDPDataControl));
td_Udp.IsBackground = true;
td_Udp.Start();
}
catch (Exception ex)
...{
if (Udp_Error != null)
Udp_Error(ex.ToString());
}
}
private void ReceiveDataControl()
...{
while (!IsDispose)
...{
try
...{
byte[] Data = UDP_Srv.Receive(ref IPEP_Srv);
if (DataControl != null)
DataControl(Data, IPEP_Srv.Address, IPEP_Srv.Port);
Thread.Sleep(0);
}
catch (Exception ex)
...{
if (Udp_Error != null)
Udp_Error(ex.ToString());
}
}
}
public void SendData(System.Net.IPAddress Host, int Port, byte[] Data)
...{
try
...{
IPEndPoint server = new IPEndPoint(Host, Port);
UDP_Srv.Send(Data, Data.Length, server);
}
catch (Exception ex)
...{
if (Udp_Error != null)
Udp_Error(ex.ToString());
}
}
public void Dispose()
...{
Thread.Sleep(30);
try
...{
IsDispose = true;
UDP_Srv.Close();
td_Udp.Abort();
}
catch (Exception ex)
...{
if (Udp_Error != null)
Udp_Error(ex.ToString());
}
}
相关文章推荐
- C#使用UdpClient发送和接收UDP数据示例 16进制与字符串互转
- [C#] 接收和发送UDP数据
- C#中UDP数据的发送、接收
- [C#] 接收和发送UDP数据
- C#使用UdpClient发送和接收UDP数据示例
- C# UDP 接收客户端指令并发送数据
- C#中UDP数据的发送、接收
- C#编写的UDP收发数据 单独的接收数据程序可以用 但是写的接收和发送的不好使
- C#使用UdpClient发送和接收UDP数据示例 16进制与字符串互转
- C# UDP、串口的数据接收与发送
- C# WinForm实现UDP发送和接收数据
- [C#] 接收和发送UDP数据
- TCP与UDP的异同(服务端接收数据,客户端发送数据)
- Java_网络编程_使用UDP协议发送及接收数据
- Java基础——实现UDP发送数据和接收数据
- C#post、get发送并且接收数据
- C# UDP接收不同端口的数据报文
- C# 用HTTP协议发送、接收数据
- ios开发之发送UDP广播并接收数据
- udp协议的数据接收与发送的代码 分类: VC++ 网络基础 2014-02-25 08:15 700人阅读 评论(0) 收藏