插座UDP和HTTP连接的服务器代码



我正在flex开发游戏。
该游戏的空气和网络版本既有空气又有版本。Air App将使用端口上的UDP插座连接到服务器。Web版本的目的是允许用户在工作时或在某些防火墙/代理后面的计算机上播放,以阻止某些端口。因此,Web将使用端口80上的HTTP连接连接到服务器。

回答HTTP连接的服务器代码将是使用燃烧的Java Servlet。但是,如果您发现C#服务器代码(WebServices或其他任何内容)更容易解释,那就可以了。回答UDP请求的服务器代码将是一个简单的类侦听套接字连接。

我的问题是我不知道如何将UDP和HTTP代码放在一起。如果有5个Air客户端和5个Web客户端,则他们都需要在某些常见的集合变量中在服务器中遇到,以便我可以使用最新信息更新所有客户端。谁将实例化倾听插座的课程?什么时候?

因此总结:
1.我需要专用的服务器来实现我想要的东西吗?
2.谁将实例化UDP处理课程以及何时?
3.是否可以将UDP处理类和HTTP连接的servlet保持在一起?如果没有http,我什至不需要tomcat。但是HTTP和UDP代码需要保持在一起,以便我可以更新播放器集合。是否可以实例化UDP处理类,并告诉它在服务器上部署servlet或类似的东西时侦听插座?

任何建议都受到欢迎。
预先感谢
miha

HTTP和UDP代码需要保持在一起

不,他们没有。它们是用于您的游戏数据的运输机制,因此应该是透明的。您的UDP和HTTP服务器应以何种方式取决于您的后端。它可以通过直接从后端代码中使用HTTP和UDP(套接字)模块进行内存,也可以使用某种服务(因此,您可以让其他频道与同一后端交谈)。

>

此游戏后端不会直接连接到用户,而仅与UDP和HTTP模块进行对话。

然后,从此后端您处理您从HTTP和UDP接收的消息,并通过同一频道发送响应。

示例:

  1. 空气客户1向UDP服务器发送有效的登录消息。
  2. UDP服务器将登录消息转发到游戏后端。
  3. 游戏后端返回成功的结果消息到UDP服务器
  4. UDP服务器将结果消息转发到空气客户1。

示例2:

  1. 现在,恰好已登录的http-client 1,请求当前登录的所有用户。
  2. HTTP服务器将此请求转发到游戏后端。
  3. 游戏后端将信息返回到http服务器
  4. HTTP服务器返回对客户端的响应。

相关内容

  • 没有找到相关文章

最新更新