因為工作需要,做乙個c#的小demo來除錯程式,好久沒有寫過socket在網上找到一篇,**看起來比較清晰明了。於是**記錄在這裡,原文**是:
server端**:
class program;client端**: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)}}
}
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 類實現面向連線的通訊。注意 此例子的目的只是為了說明用套接字寫程式的大概思路,而不是實際專案中的使用程式。在這個例子中,實際上還有很多問題沒有解決,如訊息邊界問題 埠號是否被占用 訊息命令的解析問題等。下面是兩個程式的 兩個程式均為控制台程式 先發服務端...