Socket通信(一)
生活随笔
收集整理的這篇文章主要介紹了
Socket通信(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、服務器端:
一般編寫服務器端的流程:
先創建Socket-->調用BInd綁定ip地址和端口號---->調用Listen等待客戶端連接---->在while死循環中調用Accept接收客戶端的連接,并回應消息
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Net; 7 using System.Net.Sockets; 8 using System.IO; 9 10 namespace Socket_Test 11 { 12 class Program 13 { 14 static void Main(string[] args) 15 { 16 Console.WriteLine("你好,這邊是服務器端"); 17 18 Socket sockets = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 19 IPAddress ipaddress = IPAddress.Parse("127.0.0.1"); 20 IPEndPoint ipendPoint = new IPEndPoint(ipaddress, 1234); 21 22 sockets.Bind(ipendPoint); //切記,一定要進行Bind 23 sockets.Listen(100); //限定監聽100個客戶端 24 25 Console.WriteLine("服務器開始監聽"); 26 27 while (true) 28 { 29 Socket connfd = sockets.Accept(); //監聽的是客戶端的信息 30 31 //revc 32 Console.WriteLine("服務器開始接收信息"); 33 byte[] buffer = new byte[1024]; 34 int connfdLength = connfd.Receive(buffer); //接收到信息,然后得出信息的長度 35 string connfdString =System.Text.Encoding.UTF8.GetString(buffer, 0, connfdLength); 36 Console.WriteLine("接收到信息"+connfdString); 37 38 //send: 39 40 string sendString = DateTime.Now.ToString(); //把當前的時間進行傳遞 41 byte[] sendByte = System.Text.Encoding.Default.GetBytes(sendString); 42 } 43 } 44 } 45 }?2、客戶端:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Net; 7 using System.Net.Sockets; 8 9 //客戶端 10 namespace Socket_Client 11 { 12 class Program 13 { 14 15 private Socket socket; 16 private string ipAddress = "127.0.0.1"; //IP地址 17 private int port = 1234; //端口號 18 19 private const int buffer_Size = 1024; //一次的接收大小 20 byte[] readBuffer = new byte[buffer_Size]; //用來接收數據的數組 21 22 23 private void Connetion() 24 { 25 socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //建立套接字 26 27 //connect 28 socket.Connect(ipAddress, port); 29 30 //send: 31 string Send_str = "Unity"; 32 byte[] bytes = System.Text.Encoding.Default.GetBytes(Send_str); 33 socket.Send(bytes); 34 35 //recv: 36 int count = socket.Receive(readBuffer); 37 string Recv_str = System.Text.Encoding.UTF8.GetString(readBuffer, 0, count); 38 Console.WriteLine("客戶端接收到信息:"+Recv_str); 39 40 //close:關閉連接; 41 socket.Close(); 42 43 } 44 45 static void Main(string[] args) 46 { 47 Program p = new Program(); 48 p.Connetion(); 49 } 50 } 51 }?
轉載于:https://www.cnblogs.com/zhh19981104/p/9181487.html
總結
以上是生活随笔為你收集整理的Socket通信(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手动安装K8s第六节:node节点部署-
- 下一篇: BeautifulSoup解析库详解