c# – 网络客户端 – 服务器应用程序建议
我正在尝试设计一个应用程序,允许网络上的两个用户玩囚犯
困境游戏(http://en.wikipedia.org/wiki/Prisoner%27s_dilemma). 基本上,这涉及: >游戏开始(第1轮). 我做了一些思考和搜索,我认为应用程序应该包含以下内容: >接受传入tcp / ip连接的服务器类 我不确定最好的approch是使用单个线程来做或工作,还是让它多线程.单线程显然会更容易,但我不确定是否可能出现这种情况 – 我从未在需要TCP / IP连接之前创建应用程序,而且我不确定您是否可以侦听两个传入连接一个线程. 我在网上找到了以下指南,但它似乎在两个线程上打开了两个客户端,它们直接相互通信 – 绕过服务器(我需要控制游戏逻辑):http://www.codeproject.com/Articles/429144/Simple-Instant-Messenger-with-SSL-Encryption-in-Cs 我非常感兴趣,并且对如何实现应用程序(主要是服务器类)的任何建议表示感谢. 我希望我已经清楚地解释了我的意图.提前致谢. 解决方法
我的第一个建议是忘记TCP / IP和套接字.你绝对可以用这个技术堆栈来做到这一点,但是你也会在实现你想要的所有东西时遇到很多麻烦.原因是这类任务的技术水平太低.我会选择tcp / ip和socket作为学术兴趣,或者如果我需要对通信进行巨大的控制,或者我有非常高的性能要求.
所以,我的第二个建议是看WCF技术.如果你之前没有使用它,请不要害怕.这并不困难.如果你准备好为你的应用程序使用套接字,你可以肯定地处理WCF.对于您的任务,您可以使用任何WCF教程从头开始创建1-2小时的基本通信. 所以,我会创建一个服务器WCF服务,它将包含一些包含业务逻辑的API函数.它可以托管在Windows服务,IIS或控制台应用程序中.并且您的客户端将使用该WCF服务,从项目中的另一个本地类调用它们的函数. WCF也可以帮助你做你想要的事件(虽然这是一个更高级的主题).你甚至可以忘记这里的线程,大多数事情都是开箱即用的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |