public partial class Form1 : Form { public Form1() { InitializeComponent(); TextBox.CheckForIllegalCrossThreadCalls = false; } //负责监听端口 Socket sokWelcome = null; //负责和客户端socket通信 Socket sokConnection = null; //负责监听的线程 Thread threadWatchPort = null; public void StartListening() { try { IPAddress address = IPAddress.Parse(txtIP.Text.Trim()); IPEndPoint endpoint = new IPEndPoint(address, int.Parse(txtProt.Text.Trim())); sokWelcome = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sokWelcome.Bind(endpoint); sokWelcome.Listen(10); threadWatchPort = new Thread(WatchPort); threadWatchPort.Start(); ShowMsg("开始监听...."); } catch (Exception ex) { ShowErr("", ex); } } public void WatchPort() { while (true) { try { sokConnection = sokWelcome.Accept(); ShowMsg("监听到链接啦..."); } catch (Exception ex) { ShowErr("", ex); } } } public void ShowErr(string msg, Exception ex) { ShowMsg("---------------begin---------------------"); ShowMsg(msg + "" + ex.Message); ShowMsg("---------------end-----------------------"); } public void ShowMsg(string msg) { txtShow.AppendText(msg + " "); } private void btnListen_Click(object sender, EventArgs e) { StartListening(); } private void btnSend_Click(object sender, EventArgs e) { string strMsg = txtInput.Text.Trim(); byte[] byteMsg = Encoding.UTF8.GetBytes(strMsg); sokConnection.Send(byteMsg, byteMsg.Length, SocketFlags.None); } }