我想在.net平台上使用套接字创建一个客户端 - 服务器应用程序,并且是网络编程的新手,我有两难困境。 客户端会经常向服务器发送数据,服务器也会经常通知客户端。 什么是最好的设计方法?服务器是否应该保持一个线程与每个客户端通信,直到它退出或仅客户端向服务器发送数据,并定期更新客户端(几秒钟)或不更新客户端? 有些帮助会很大。多谢你们。 PS:客户数量将达到数千人。客户端服务器应用程序设计
2
A
回答
0
当我为一个项目编写Web服务器时,我做回它的方式是在服务器上有您的主线程来侦听新的请求。一旦有请求产生一个新的线程并从另一个端口响应客户端。只要您的客户端/服务器正在进行通信,您就可以保持第二个线程的活动这需要多长时间取决于很多事情。你会有成千上万的客户吗?如果是这样,你应该经常关闭线程/端口。但是,如果你只有几个客户,让他们打开更长的时间。
我假设发送给客户端的数据对于每个客户端都是不同的。如果它有相同的数据,那么你应该使用UDP将它广播给所有客户端。
3
您所描述的设计类型的.net解决方案称为 Windows Communication Foundation或简称为WCF。
WCF允许异步回调,这将是您实现所描述的体系结构类型的一种方式。我通过Michele Bustamante的书学习WCF了解了关于WCF的大部分知识。 WCF非常广泛,如果没有很好的参考,我会建议不要从臀部射击。
0
这将取决于。你的应用程序是否依赖于输入,它可以被缩减为大块的代码,它可以以任何顺序处理......,很多事情还不知道你的情况。
异步套接字有优点,但不适用于所有类型的应用程序。
阻塞套接字也有优点,更容易概念化和实现,并有许多应用程序的用途。
您需要首先确定您的需求,这将决定您如何执行前进的任务。
相关问题
- 1. 设计IM应用程序Android客户端和GO服务器
- 2. 设计JAVA客户端 - 服务器应用程序
- 3. 客户端/服务器应用程序
- 4. 客户端 - 服务器应用程序
- 5. 服务器客户端应用程序
- 6. iOS客户端应用程序设计
- 7. OO客户端 - 服务器设计
- 8. 客户端服务器架构设计
- 9. 设计模式:客户端 - 服务器
- 10. Web服务客户端应用程序
- 11. 服务器端客户端程序C
- 12. 如何设计一个多客户端/服务器应用程序?
- 13. jboss客户端 - 服务器应用程序。并发用户
- 14. 设计客户端/服务器应用程序以自动更新客户端软件
- 15. 与C++服务器/客户端应用程序的端口
- 16. Flex构建客户端和服务器端的应用程序
- 17. 服务器端VS客户端MVC的Web应用程序
- 18. Java服务器,客户端程序
- 19. RMI客户端和服务器程序
- 20. 简单客户端服务器程序
- 21. TCP/UDP客户端/服务器程序
- 22. c程序客户端服务器
- 23. Golang tcp客户端服务器程序
- 24. Java套接字客户端服务器响应应用程序
- 25. 编程一个IPTV应用程序 - 客户端/服务器
- 26. 测试远程客户端 - 服务器应用程序
- 27. 客户端 - 服务器应用程序中的线程同步?
- 28. Socket编程客户端服务器聊天应用程序C++
- 29. .NET客户端应用程序服务生产设置
- 30. Android客户端服务器应用程序 - readLine()不起作用
如果你告诉我们更多关于你想要完成的事情,你会得到更多关于你在做什么的具体信息。 – 2010-06-15 16:57:39