c socket多連線(如何達到10萬個客戶端)

時間 2021-10-14 21:28:53

1樓:匿名使用者

無論是採用tcp協議還是udp協議

1)仔細分析瞬時的連結數:是在1秒之內有10萬個併發連線,還是在1小時內有10萬個,或者是在1天內有10萬個。這個很重要。

2)測試一個連線從連線建立-->傳送接收處理-->關閉連線所需要的執行時間

3)採用非同步處理。socket非同步處理是出來大併發連線數量的不二選擇。非同步處理本質上是多執行緒的,而且使用執行緒池。

藉助執行緒池能夠提供執行緒處理效能。根據1)和2)分析的結果有可能需要調整執行緒池預設執行緒數量。

4)如果採用tcp協議,完成處理後,一定要關閉accept建立的客戶端連線;否則,會過度消耗系統資源,導致你的程式處理能力下降甚至崩潰。

5)如果採用udp協議,不需要關閉服務端socket

6)一個socket理論上最大能處理65535個連線。也許你需要建立多個socket才能滿足這麼高的併發連線數量。究竟需要建立多少個socket,還是由1)和2)的結果決定。

**********==

既然數量量小,就沒有長連線的必要!

長時間連線而不傳資料,這樣的很浪費伺服器資源

2樓:匿名使用者

需不需要長連線,如果不需要,客戶端連上去之後傳送完資料庫斷掉就行了。如果你指的10w長連線,單機有點問題,資源和頻寬可能都不夠。

3樓:匿名使用者

單機是做不到。這個是在叢集的模式猜可以做到。

win系統本身還有核心的程序數的限制。

如果同時併發這麼高。

你算一下 一天得多少訪問。

c#如何實現多個客戶端的通訊(同一個伺服器)

4樓:

客戶端之間的通訊有兩個辦法。

1. 伺服器中轉

2. 伺服器上註冊後,客戶端之間直接通訊。

對於第一種方法,大多比較簡單。查一下socket的文章,還有大把現成的**給你看。

第二個方法就稍微複雜一些。

但原理都一樣。客戶端a,連結伺服器後,地址資訊就儲存到了伺服器上。除了保持與伺服器的通訊外。另外開啟一個 socket,繫結到另一個埠,並且一直監聽此埠。

客戶端b連線伺服器,從伺服器上獲取客戶端a的地址資訊。把客戶端a當成伺服器,連線a。

5樓:匿名使用者

建立多個執行緒就ok了 為每一個連線 建立一個執行緒去處理

while (true)

6樓:匿名使用者

單純的多執行緒是不可能實現的 要用到socket

你到msdn或者網上一搜 結果一大堆 特別是msdn裡講的相當詳細

c# 1000個socket客戶端併發

7樓:匿名使用者

1000個連線不算太多,有沒有試過非同步socket。完成埠這類也都是對伺服器而言的,對客戶端不存在。

8樓:析君豪

一個客戶端程式開一千個sockel來幹嘛,你是測試你客戶端的還是在測試服務端?吃飽撐著沒事幹了

求!!!用c#中的socket套接字實現一個伺服器與多個客戶端的通訊**

9樓:匿名使用者

//一個最簡單的socket服務端程式,不知道是否對你有用using system;

using system.collections.generic;

using system.linq;

using system.net;

using system.net.sockets;

using system.text;

using system.threading;

namespace socketserver1static void acceptclient()catch (socketexception ex)}}static void readmsg(object obj)}}catch (socketexception ex)}}}}

10平方的電線接頭如何連線

龍勝撫順 10平方的電線為多股線,先把要對接的兩根線的絕緣皮剝開10 15釐米左右,然後將銅絲全部分開就像像雨傘的骨架一樣分開,然後交叉插入交錯的合在一起,合在一起的時候必須留有8釐米的距離。先將一邊用一根或兩根纏繞,纏繞完了再繼續第二次纏繞,第二次完了再進行第三次纏繞一直纏到絕緣處,最後將多餘的線...

如何設定windows10寬頻自動連線

開機直接自動寬頻連線,是很多依然在使用寬頻連線撥號上網的使用者的一大心願。在之前的xp或者win7 win8系統中,也有相應的設定教程。那麼在win10中又該如何操作呢?小編介紹一個簡單的方法。將建立好的寬頻連線,拖動到啟動資料夾,為直觀起見,啟動資料夾未開啟,但效果是一樣的!目的是設定撥號連線開機...

華為榮耀10如何用usb otg連線U盤

行在月夜 華為榮耀10用usb otg連線u盤的具體操作步驟如下 1 首先,需要準備一條otg資料線 2 然後,將otg線小的介面插在手機上 3 而另外一邊稍微大的介面則用來連線u盤,一定要把u盤插到最底 4 然後,連線好後就可以看到手機已經連線上外接儲存裝置 5 最後,就可以在手機中進入u盤,讀取...