C Socket通訊客戶端類 伺服器類

2021-06-11 09:07:27 字數 2071 閱讀 4948

其實這些東西網上都有,但是比較凌亂,很少有封裝好的類,在此共享一下。。。

乙個socket伺服器類,乙個socket客戶端類,都可以直接拿去用,下邊有詳細的呼叫示例。

需要說明的是,伺服器類沒有處理多客戶連線,只是簡單的響應單客戶連線。

socket伺服器類(socketserviceshelper.cs):

using system;

using system.io;

using system.net;

using system.net.sockets;

using system.text;

using system.threading;

using system.diagnostics;

using system.text.regularexpressions;

namespace usbcontrol

/// /// 啟動服務

///

public void startservices()

catch (exception ex)

}///

void listenfunction()

)[0].split(new char )[1];

//根據訊息做出相應動作}}

}catch (exception ex)

finally

if (socket2.connected)}}

/// /// 獲得本機ip位址

///

///

private string getip()

line = reader.readline();}}

catch(exception ex)

finally

if (reader != null)

}return regex.match(ipaddress.equals("") ? ipaddress : ipaddress.substring(0, ipaddress.length - 1), "[0-9]\\.[0-9]\\.[0-9]\\.[0-9]").tostring();}}

}

呼叫示例:

//例項化時傳入監聽埠,本機ip自動獲取

socketserviceshelper ssh = new socketserviceshelper(8881);

//開始監聽

ssh. startservices();

socket 客戶端類(socketclienthelper.cs):

using system;

using system.io;

using system.net;

using system.net.sockets;

using system.text;

namespace bll

/// /// 向伺服器傳送訊息

///

/// 訊息內容

///

public string send(string sendstr)

else

}catch (exception ex) }}

}

呼叫示例:

//例項化時傳入伺服器ip和訊息埠

socketclienthelper sch = new socketclienthelper(ipaddress.parse("192.168.24.177"),8881);

//傳送訊息

sch.send("hello word!");

TCP通訊,多客戶端通訊(客戶端 服務端)

客戶端和伺服器間的交流,客戶端傳送資訊,伺服器接收到,並返回資訊 長連線建立socket連線服務端 指定ip位址,埠號 通過ip位址找對應的伺服器 呼叫socket的getinputstream 和getoutputstream 方法獲取和服務端相連的io流 輸入流可以讀取服務端輸出流寫出的資料 輸...

C Socket簡單例子(伺服器與客戶端通訊)

這個例子只是簡單實現了如何使用 socket 類實現面向連線的通訊。注意 此例子的目的只是為了說明用套接字寫程式的大概思路,而不是實際專案中的使用程式。在這個例子中,實際上還有很多問題沒有解決,如訊息邊界問題 埠號是否被占用 訊息命令的解析問題等。下面是兩個程式的 兩個程式均為控制台程式 先發服務端...

C Socket簡單例子(伺服器與客戶端通訊)

這個例子只是簡單實現了如何使用 socket 類實現面向連線的通訊。注意 此例子的目的只是為了說明用套接字寫程式的大概思路,而不是實際專案中的使用程式。在這個例子中,實際上還有很多問題沒有解決,如訊息邊界問題 埠號是否被占用 訊息命令的解析問題等。下面是兩個程式的 兩個程式均為控制台程式 先發服務端...