[英]Multi client server in C#
我正在用C#.Net在服務器和客戶端之間編寫聊天程序。 除了聊天,兩個用戶都可以參與不同的活動,例如遠程桌面和一起玩游戲。
我有幾個問題:
多個線程將同時從客戶端發送和接收內容,這意味着每個選項都需要確定哪個數據包適合他並從中獲取數據? (在同時傳輸文件的同時運行遠程桌面,遠程桌面線程將看到文件包到達流中,但應該忽略它,對吧?)
為我將接受客戶端的套接字設置好的緩沖區大小是多少?
我是否以包含數據的專業類的形式進行通信,還是嘗試將通信保持為通過流發送的字節數組?
我們無法回答問題2和3,因為我們不知道溝通和要求是什么樣子。
至於處理多個線程:這很難解決,我會使用現有的解決方案。
我建議您看一下0MQ,因為它可能會阻止您重新發明輪子。
有可用的.NET客戶端庫: http ://nzmq.codeplex.com/和nuget包http://www.nuget.org/packages/clrzmq/2.2.5 。
The Guide是一個好的開始
有關快速示例,請參見此C#服務器及其在C#中的hello world客戶端
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.