using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; namespace HslCommunication.Enthernet { /// /// UDP客户端的类,只负责发送数据到服务器,该数据经过封装 /// public class NetUdpClient : Core.Net.NetworkBase { private IPEndPoint ServerEndPoint = null; /// /// 实例化对象, /// /// public NetUdpClient( IPEndPoint endpoint ) { ServerEndPoint = endpoint; CoreSocket = new Socket( AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp ); } /// /// 实例化对象,指定发送的服务器地址和端口号 /// /// 服务器的Ip地址 /// 端口号 public NetUdpClient( string ipAddress,int port ) { ServerEndPoint = new IPEndPoint( IPAddress.Parse( ipAddress ), port ); CoreSocket = new Socket( AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp ); } /// /// 发送字节数据到服务器 /// /// 用户自定义的标记数据 /// 字节数据 /// /// /// public void SendMessage( NetHandle customer, byte[] data ) { CoreSocket.SendTo( HslProtocol.CommandBytes( customer, Token, data ), ServerEndPoint ); } /// /// 发送字符串数据到服务器 /// /// 用户自定义的标记数据 /// 字符串数据 /// /// /// public void SendMessage( NetHandle customer, string data ) { CoreSocket.SendTo( HslProtocol.CommandBytes( customer, Token, data ), ServerEndPoint ); } #region Object Override /// /// 获取本对象的字符串表示形式 /// /// public override string ToString( ) { return "NetUdpClient"; } #endregion } }