C Socket實現伺服器與多個客戶端通訊

2022-07-01 22:15:10 字數 2441 閱讀 2433

因為工作需要,做乙個c#的小demo來除錯程式,好久沒有寫過socket在網上找到一篇,**看起來比較清晰明了。於是**記錄在這裡,原文**是:

server端**:

class program; 

static void main(string args)

// i++;

//}"連線關閉!");

}//監聽客戶端發來的請求

static void watchconnecting()

catch (exception ex)

//客戶端網路結點號

string remoteendpoint = connection.remoteendpoint.tostring();

//新增客戶端資訊

clientconnectionitems.add(remoteendpoint, connection);

//顯示與客戶端連線情況

console.writeline("\r\n[客戶端\"" + remoteendpoint + "\"建立連線成功! 客戶端數量:" + clientconnectionitems .count+ "]");

//獲取客戶端的ip和埠號

ipaddress clientip = (connection.remoteendpoint as ipendpoint).address;

int clientport = (connection.remoteendpoint as ipendpoint).port;

//讓客戶顯示"連線成功的"的資訊

string sendmsg = "[" + "本地ip:" + clientip + " 本地埠:" + clientport.tostring() + " 連線服務端成功!]";

byte arrsendmsg = encoding.utf8.getbytes(sendmsg);

connection.send(arrsendmsg);

//建立乙個通訊線程

thread thread = new thread(recv);

//設定為後台執行緒,隨著主線程退出而退出

thread.isbackground = true;

//啟動執行緒

thread.start(connection);}}

/// /// 接收客戶端發來的資訊,客戶端套接字物件

///

///

static void recv(object socketclientpara)}}

catch (exception)}}

}

client端**:

class

program

catch

(exception)

threadclient = new

thread(recv);

threadclient.isbackground = true

; threadclient.start();

thread.sleep(

1000

); console.writeline(

"請輸入內容《按enter鍵傳送》:\r\n");

while(true

)

//int i = 1;

//while (true)

//

//i++;

//}//return;

//string result = string.empty;

}

catch

(exception ex)

}//接收服務端發來資訊的方法

public

static

void

recv()

else

}catch

(exception ex)}}

//傳送字元資訊到服務端的方法

public

static

void clientsendmsg(string

sendmsg)

}

測試結果:

server端:

client端:

C Socket實現Http WEB伺服器

c socket實現http web伺服器 2010年03月22日 www的工作基於客戶機 伺服器計算模型,由web 瀏覽器 客戶機 和web伺服器 伺服器 構成,兩者之間採用超文字傳送協議 http 進行通訊,http協議的作用原理包括四個步驟 連線,請求,應答。根據上述http協議的作用原理,本...

伺服器搭建多個tomcat伺服器

以三個tomcat為例 先配置環境變數 編輯 etc profile 檔案 新增三個tomcat環境變數 value為tomcat目錄 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 第乙個tomcat catalina base usr local tomcat to...

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

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