一。服务器端口
服务器端代码:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Net; 5 using System.Net.Sockets; 6 using System.Text; 7 using System.Threading.Tasks; 8 9 namespace SocketTcp服务器 10 { 11 class Program 12 { 13 static void Main(string[] args) 14 { 15 //1.建立网络连接Socket 16 Socket socketTcp = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); 17 //2.绑定ip 18 IPAddress iPAddress = new IPAddress(new byte[]{10,0,208,54}); 19 EndPoint endpoint = new IPEndPoint(iPAddress,1234); 20 socketTcp.Bind(endpoint); 21 //3.监听准备接收 22 socketTcp.Listen(100);//括号内参数为最大监听客户端数 23 Console.WriteLine("开始监听"); 24 //4.接收数据等待客户端链接 25 Socket tcpClent= socketTcp.Accept();//如果没有完成链接不会继续进行下面代码 26 Console.WriteLine("链接已完成"); 27 //5.给客户端发送一个消息 28 while (true) 29 { 30 byte[] data = new byte[1024]; 31 int length = tcpClent.Receive(data); 32 string mess = Encoding.UTF8.GetString(data, 0, length); 33 Console.WriteLine("客户端传过来消息是" + mess); 34 } 35 //while (true) 36 //{ 37 // string message = Console.ReadLine(); 38 // byte[] data = Encoding.UTF8.GetBytes(message); 39 // tcpClent.Send(data); 40 //} 41 Console.ReadKey(); 42 43 } 44 } 45 }
1建立网络链接
.//,名字家庭网络链接,流的形式
2.绑定ip
2..2找u到ip地址的时候
3.监听准备接受
4.接受数据等待客户端链接
接受的都是字节
5.,给客户发送一个消息
5.1字符串转字节:
二、客户端口:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Net; 5 using System.Net.Sockets; 6 using System.Text; 7 using System.Threading.Tasks; 8 9 namespace 客户端Tcp 10 { 11 class Program 12 { 13 static void Main(string[] args) 14 { 15 //1.创建一个Socket 16 Socket socketCline = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); 17 //2.建立链接 18 EndPoint endPoint = new IPEndPoint(new IPAddress(new byte[] { 10,0,208,54}),1234); 19 socketCline.Connect(endPoint); 20 while (true) 21 { 22 string message = Console.ReadLine(); 23 byte[] data = Encoding.UTF8.GetBytes(message); 24 socketCline.Send(data); 25 } 26 //while (true) 27 //{ 28 //byte[] data = new byte[1024]; 29 //int length= socketCline.Receive(data); 30 //string mess= Encoding.UTF8.GetString(data,0,length); 31 //Console.WriteLine("服务器传过来消息是"+mess); 32 //} 33 Console.ReadKey(); 34 35 } 36 } 37 }
服务器端和客户端不能在一个解决方案里面写
1.创建socket
引用命名空间:
2.建立链接的时候先写这个,缺什么再写什么
3.字节转换为字符:
4全部步骤
,两个位置交换信息,就改变发送的方向,交换的代码是while里面的