【问题标题】:Multi client server in C#C#中的多客户端服务器
【发布时间】:2013-10-21 20:09:23
【问题描述】:

我正在用 C# .Net 在服务器和客户端之间编写一个聊天程序。除了聊天之外,两个用户都可以参与不同的活动,例如远程桌面和一起玩游戏。

我有几个问题:

  1. 多个线程将同时从客户端发送和接收内容,这意味着每个选项都需要识别哪个数据包是给他的并从中获取数据? (在传输文件的同时运行远程桌面,远程桌面线程会看到文件包到达流但应该忽略它,对吧?)

  2. 为我将接受客户端的套接字设置什么合适的缓冲区大小?

  3. 我是以包含数据的专用类的形式进行通信,还是尝试将通信保持为通过流发送的字节数组?

【问题讨论】:

标签: c# .net multithreading sockets


【解决方案1】:

我们无法回答问题 2 和 3,因为我们不知道沟通和要求是什么样的。

至于处理多线程:这很难做到,我会使用现有的解决方案。

我建议你看看0MQ,因为它可能会阻止你重新发明轮子。

有可用的 .NET 客户端库:http://nzmq.codeplex.com/ 和一个 nuget 包 http://www.nuget.org/packages/clrzmq/2.2.5

一个好的开始是The Guide

有关简单示例,请参阅this C# server 及其hello world client in C#

【讨论】:

    猜你喜欢
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 2022-06-16
    相关资源
    最近更新 更多