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
}
}