运行效果图: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Sockets; using System.Net; using System.Threading; namespace SocketTest { class Program { static void Main(string[] args) { ThreadStart ts1 = socketSend; ThreadStart ts2 = socketReceive; Thread t1 = new Thread(ts1); Thread t2 = new Thread(ts2); t1.Start(); t2.Start(); Console.ReadLine(); } private void writeWebIP() { var a = System.Net.Dns.GetHostAddresses("www.163.com"); foreach (var temp in a) { var tmp = temp.GetAddressBytes(); foreach (var tmp2 in tmp) { Console.Write(tmp2.ToString() + "."); } Console.WriteLine(); } } //通过socket发送 private static void socketSend() { //准备发送的数据 byte[] sendByte={110,074,007,074}; try { //利用本机测试 var address = Dns.GetHostAddresses("localhost").First(); IPEndPoint ipEndPoint = new IPEndPoint(address, 5714); Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(ipEndPoint); if (socket.Connected) { Console.WriteLine("socket开始发送数据"); socket.Send(sendByte); } } catch (Exception exec1) { Console.WriteLine(exec1.ToString()); } } //通过socket接收 private static void socketReceive() { byte[] receiveByte=new byte [4]; Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Bind(new IPEndPoint(IPAddress.Any, 5714)); socket.Listen((int)SocketOptionName.MaxConnections); var a = socket.Accept(); if (a != null) { if (a.Connected) { Console.WriteLine("socket开始接收数据"); a.Receive(receiveByte); foreach (var temp in receiveByte) { Console.Write(temp.ToString ()+" "); } } } } } }