socket程式設計簡單Demo講解及原始碼分享(C# Winform 內網)
阿新 • • 發佈:2018-12-15
百科對於定義講的很詳細,就不再敘述了。 然後接下來主要是講解如何在winform上面實現簡單的socket通訊。
首先是伺服器和客戶端兩邊的設定了。
對於伺服器,主要做的是以下幾件事:
1.建立套接字(socket)
Socket socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
裡面引數的含義 ---我等以後有時間了再講
2.設定對應的ip和埠號
IPAddress ip = IPAddress.Parse(txt_IP.Text); IPEndPoint endpoint = new IPEndPoint(ip, Convert.ToInt32(txt_Port.Text));
3.繫結IPEndPoint及設定監聽的數量--
socketWatch.Bind(endpoint);
socketWatch.Listen(20);
4.建立執行緒用來監聽--
Thread th = new Thread(Listen);
th.IsBackground = true;
th.Start(socketWatch); //Start裡面的引數 是執行緒方法的引數
5.設定監聽函式=
void Listen(Object o) { Socket socketWatch = o as Socket; while (true) { try { //建立一個新的用於與客戶端進行通訊的socket物件 socketSend = socketWatch.Accept(); ipAddress = socketSend.RemoteEndPoint.ToString(); //獲得客戶端的ip地址和埠號 ipAddress格式例如:127.0.0.1:50000 dicSocket.Add(socketSend.RemoteEndPoint.ToString(), socketSend); ShowMsg(ipAddress + ":" + "連線成功"); //建立一個新的執行緒,用來接收客戶端傳送過來的訊息 Thread th = new Thread(Recive); th.IsBackground = true; th.Start(socketSend); } catch { } } }
後面有點累了。。等有時間再更新 有點略懶。。。
做完的效果:
原始碼連結如下,大家可自行下載:
連結:https://pan.baidu.com/s/1mVCWEGuw9Yq0FnGpsp6NUg 提取碼:ymlg