C# codeprivate void button1_Click(object sender, EventArgs e)
{
if (btnStart.Text == "开启服务器")
{
IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName());
this.socketListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress ipAddress = IPAddress.Parse("192.168.1.109");
int port = Int32.Parse(this.txtPoint.Text);
IPEndPoint endPoint = new IPEndPoint(ipAddress, port);
this.socketListener.Bind(endPoint);
this.socketListener.Listen(30);
ThreadPool.QueueUserWorkItem(p =>
{
while (true)
{
Socket socket = this.socketListener.Accept();
this.thread = new Thread(this.ReceiveMessage);
this.thread.Start(socket);
}
});
btnStart.Text = "关闭服务器";
if (!txtClientMessage.InvokeRequired)
{
txtClientMessage.AppendText("服务器已打开\n\r");
}
}
else
{
this.socketListener.Close();
this.thread.Abort();
this.flag = false;
}
}