服务端
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using System.Net; using System.Threading; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private TcpListener tcp; private void button1_Click(object sender, EventArgs e) { tcp = new TcpListener(IPAddress.Any, 5000); tcp.Start(); Thread t = new Thread(server); t.IsBackground = true; t.Start(tcp); } private void server(object o) { TcpListener list = o as TcpListener; this.textBox1.AppendText("连接成功"+" "); while (true) { const int buffer = 256; TcpClient client = list.AcceptTcpClient(); NetworkStream strem = client.GetStream(); byte[] b = new byte[buffer]; int r = strem.Read(b, 0, buffer); string str = Encoding.UTF8.GetString(b, 0, r); this.textBox2.AppendText(client.Client.RemoteEndPoint.ToString() + ":"+str+" "); strem.Close(); } } public void showmsg(string msg) { this.textBox2.AppendText(msg + " "); } private void Form1_Load(object sender, EventArgs e) { Control.CheckForIllegalCrossThreadCalls = false; } } }
客户端
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using System.Net; using System.Threading; namespace client { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private TcpClient client; private void button1_Click(object sender, EventArgs e) { const int size = 406; client = new TcpClient(); client.Connect(IPAddress.Parse("172.16.5.24"),5000); NetworkStream strem = client.GetStream(); string str = this.textBox1.Text.Trim(); byte[] b = Encoding.UTF8.GetBytes(str); strem.Write(b, 0, b.Length); strem.Close(); client.Close(); } private void Form1_Load(object sender, EventArgs e) { Control.CheckForIllegalCrossThreadCalls = false; } } }