相关疑难解决方法(0)

c#中的多客户端,异步套接字,最佳实践?

我试图更好地理解c#中的tcp/ip套接字,因为我想挑战自己,看看我是否可以创建一个有效的MMO基础设施(游戏世界,地图,玩家等)纯粹用于教育目的,因为我没有意图成为另一个"OMGZ iz将让我的r0x0r MMORPG比魔兽更好!!!",你知道我在说什么.

无论如何,我想知道是否有人可以阐明一个人如何设计这种系统以及需要什么样的东西,以及我应该注意什么?

我最初的想法是将系统分解为单独的客户端/服务器连接,每个连接(在自己的端口上)执行特定任务,例如更新玩家/怪物位置,发送和接收聊天消息等等.处理数据更容易,因为您不总是需要在数据上放置标题以了解数据包包含哪些信息.

这是否有意义且有用,还是我只是简单地复杂化了事情?

非常感谢您的回复.

c# sockets client-server

17
推荐指数
1
解决办法
9987
查看次数

套接字与 WCF

我在类似聊天的应用程序上工作,我在客户端使用Silverlight,在服务器端使用wpf.现在通信基于套接字:我有不同的消息类,我通过TCP序列化和发送.

我开始意识到为每个可能的通信场景创建一个单独的消息类是一个相当大的开销,并考虑转移到WCF.

因此,我需要了解以下事项:

  1. 似乎使用WCF的整个通信基于来自我的WCF服务的客户端callind公开的方法.有没有办法知道哪个客户端调用某种方法?这对我的应用来说非常重要.

  2. 当客户端从服务器断开连接(例如关闭运行Silverlight客户端的浏览器窗口)时,WCF是否通知我的应用程序?这也非常重要.

  3. 方法调用是完全异步的吗?如果是这样,我是否必须将每个方法调用重新路由到服务器应用程序的主线程?

  4. 每个客户端连接都有自己的线程吗?如果客户端调用方法说每2秒,服务器(在合理供电的PC上运行)可以处理多少个同时连接?我只需要一个估计(10,100,1000甚至更多)."更多"会很棒;)

也许我完全错了,WCF完全没有基于连接的工作.然后我必须找到一个解决方法来仍然管理活动连接列表.

谢谢你的帮助!安德烈

.net sockets wcf

6
推荐指数
1
解决办法
2661
查看次数

标签 统计

sockets ×2

.net ×1

c# ×1

client-server ×1

wcf ×1