客户端代码:
public class SocketClient
{
#region field/字段
IPAddress ip;
IPEndPoint ipEnd;
Socket socket;
public delegate void Receive(string msg);
public delegate void Shut(string ErrMsg);
public event Receive ReceiveEvent;
public event Shut ShutEvent;
private bool sign = false;
/// <summary>
/// 是否运行中
/// </summary>
public bool IsRun { get { return sign; } }
private Encoding _MsgEncoding = Encoding.UTF8;
/// <summary>
/// 编码方式
/// </summary>
public Encoding MsgEncoding { get { return _MsgEncoding; } set { _MsgEncoding = value; } }
#endregion
#region 构造函数
/// <summary>
/// 本地连接/默认端口8081
/// </summary>
public SocketClient()
{
ip = IPAddress.Parse("127.0.0.1");//接收地址IP(连接服务端)
ipEnd = new IPEndPoint(ip, 8081);//接收端所监听的接口
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
}
/// <summary>
///
/// </summary>
/// <param name="IP">ip地址</param>
/// <param name="port">端口号</param>
public SocketClient(string IP, int port)
{
ip = IPAddress.Parse(IP);//接收地址IP(连接服务端)
ipEnd = new IPEndPoint(ip, port);//接收端所监听的接口
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
}
#endregion
/// <summary>
/// 连接
/// </summary>
/// <returns></returns>
public bool Star()
{
try
{
socket.Connect(ipEnd);//连接指定IP&端口
sign = true;
ReceiveStar();
}
catch (Exception ex)
{
sign = false;
}
return sign;
}
public void Clos