我的工作在C#中的即时通讯程序(仅学习)。结果 只是想知道,如果我的方式是对还是错。结果 我创建whice包含的NetworkStream和读/写功能的客户端类。结果 服务器为每个客户端创建一个新的线程,该线程监听任何新信息。

任何更好的方法?

有帮助吗?

解决方案

您不一定需要生成一个线程为每个客户端。因为它解决了发布 - 订阅的问题,这是一个很好的方式来看待即时消息应用程序,特别是如果你想多听众一个健谈我调查Observer设计模式。 这里有一个良好的开端: http://www.blackwasp.co.uk/Observer.aspx 。这个环节讨论观察者模式,并提到即时通讯: http://www.oodesign.com/observer -pattern.html

您可能会发现一个单线程的做法也许能够跟上很多消息。这取决于你如何设计你的类,你可能会发现把整个谈话中自己的线程。你也应该想想自己的线程使用队列来处理传入和传出消息,有读者排队也。

听起来像是一个有趣的项目。

其他提示

尝试WCF。 这里是一个很好的示例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top