1. 程式人生 > >C#套接字Socket程式設計之最簡單通訊

C#套接字Socket程式設計之最簡單通訊

從網上看到的,自己手打學習過程

最簡單的套接字程式設計、實現伺服器從客戶端接受一條訊息並返回一條訊息。

基本過程:

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();
        }
}