namespace WindowsFormsApplication1
{
class TcpIpServer
{
public EndPoint RemoteEndPoint { get; private set; } //当前客户端的网络结点
Thread threadwatch = null;//负责监听客户端的线程
Socket socket = null;//负责监听客户端的套接字
// Dictionary 定义一个集合,存储客户端信息
public Dictionary dic = new Dictionary { };
private StringBuilder msg = new StringBuilder();
public string Msg
{
get { return msg.ToString(); }
private set
{
msg.AppendLine(value);
//MessageBox.Show(value + "
");
}
}
private TcpIpServer() { }
public TcpIpServer(int port = 7891)
{
//定义一个套接字用于监听客户端发来的消息,包含三个参数(IP4寻址协议,流式连接,Tcp协议)
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//将IP地址和端口号绑定到网络节点point上
IPEndPoint point = new IPEndPoint(IPAddress.Any, port);//设置服务器端口,IP是本程序所在PC的内网IP
//监听绑定的网络节点
socket.Bind(point);
//将套接字的监听队列长度限制为20
socket.Listen(20);
//创建一个监听线程
threadwatch = new Thread(watchconnecting);
//将窗体线程设置为与后台同步,随着主线程结束而结束
threadwatch.IsBackground = true;
//启动线程
threadwatch.Start();
//启动线程后显示相应提示
Msg = ("开始监