C# 服务端

    xiaoxiao2021-03-25  74

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Threading; namespace 服务器端 { public partial class Form1 : Form { //字段声明 TcpListener tcpListener;//TCP监听 NetworkStream ns;//网络数据流 Thread listenThread;//监听线程 TcpClient tcpClient;//TCP客户 //回调 private delegate void ShowMsgCallBack(string msg); ShowMsgCallBack showMsgCallBack; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { showMsgCallBack = new ShowMsgCallBack(ShowMsg); } private void btnlisten_Click(object sender, EventArgs e) { IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse(txtIP.Text), Convert.ToInt32(txtPort.Text)); try { tcpListener = new TcpListener(ipEndPoint); tcpListener.Start(); listenThread = new Thread(listen); listenThread.IsBackground = true; listenThread.Start(); //修改按钮状态 btnlisten.Enabled = false; btnbreak.Enabled = true; btnSend.Enabled = true; } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void listen() { try { tcpClient=tcpListener.AcceptTcpClient(); ns=tcpClient.GetStream(); while(true) { int reader=tcpClient.Available; if(reader>0) { byte []getDate=new byte[reader]; ns.Read(getDate,0,getDate.Length); string msg=Encoding.Default.GetString(getDate); lstMsg.Invoke(showMsgCallBack,msg); } } } catch (ThreadAbortException e) { //人为断开线程不用管 } catch (Exception e) { MessageBox.Show(e.Message); } } private void ShowMsg(string msg) { lstMsg.Items.Add(msg); } private void btnbreak_Click(object sender, EventArgs e) { tcpListener.Stop(); listenThread.Abort(); ns.Dispose(); //修改控件状态 btnbreak.Enabled = false; btnlisten.Enabled = true; btnSend.Enabled = false; } private void btnSend_Click(object sender, EventArgs e) { byte [] sendData = Encoding.Default.GetBytes(txtMsg.Text); ns.Write(sendData, 0, sendData.Length); } } }

    转载请注明原文地址: https://ju.6miu.com/read-15866.html

    最新回复(0)