C#套接字Socket程式設計之最簡單通訊
阿新 • • 發佈:2019-02-01
從網上看到的,自己手打學習過程
最簡單的套接字程式設計、實現伺服器從客戶端接受一條訊息並返回一條訊息。
基本過程:
1.根據伺服器IP和埠號建立EndPoint物件
2.建立Socket物件
3.利用Socket物件的Bind方法繫結EndPoint物件
4.利用Socket的Listen方法監聽
5.與客戶端建立連線並用Socket的Accept建立新的Socket物件並用新物件的Receive和Send方法接收訊息和返回訊息
6.最後要關閉Socket連線
程式碼如下:
using System.Collections.Generic; using System.Net; using System.Net.Sockets; class Program{ static void Main(string[] args) { string host = "127.0.0.1";//定義了一個伺服器主機號 int port = 1000;//埠號 IPAddress ip = IPAddress.Parse(host);//獲取伺服器Ip IPEndPoint endPoint = new IPEndPoint(ip, port);//定義EndPoint物件 Socket socket1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//定義一個socket物件 socket1.Bind(endPoint);//繫結endpoint物件 socket1.Listen(0);//監聽 Console.WriteLine("建立連線:"); Socket tempSocket = socket1.Accept();//建立一個新的socket用於與客戶端通訊 string strReceive = ""; Byte[] receiveBytes = new Byte[1024]; int ibyte=tempSocket.Receive(receiveBytes,receiveBytes.Length,0);//接受資訊 strReceive += Encoding.ASCII.GetString(receiveBytes, 0, ibyte); Console.WriteLine("接受來自客戶端的資訊為:" + strReceive); string strSend = "Successful"; Byte[] SendBytes = Encoding.ASCII.GetBytes(strSend);//傳送成功響應 tempSocket.Send(SendBytes, 0); tempSocket.Close();//關閉套接字 socket1.Close(); Console.ReadLine(); } }