-
21-09-2019 - |
题
我的工作在C#中的即时通讯程序(仅学习)。结果 只是想知道,如果我的方式是对还是错。结果 我创建whice包含的NetworkStream和读/写功能的客户端类。结果 服务器为每个客户端创建一个新的线程,该线程监听任何新信息。
任何更好的方法?
解决方案
您不一定需要生成一个线程为每个客户端。因为它解决了发布 - 订阅的问题,这是一个很好的方式来看待即时消息应用程序,特别是如果你想多听众一个健谈我调查Observer设计模式。 这里有一个良好的开端: http://www.blackwasp.co.uk/Observer.aspx 。这个环节讨论观察者模式,并提到即时通讯: http://www.oodesign.com/observer -pattern.html 。
您可能会发现一个单线程的做法也许能够跟上很多消息。这取决于你如何设计你的类,你可能会发现把整个谈话中自己的线程。你也应该想想自己的线程使用队列来处理传入和传出消息,有读者排队也。
听起来像是一个有趣的项目。
其他提示
尝试WCF。 这里是一个很好的示例。
不隶属于 StackOverflow