我写了一个flash(flex)客户端,连接到后端服务器来交换数据。
我还从头开始编写服务器,它有两个用途:
(1)Web(HTTP)服务器-默认情况下侦听端口80
(2)套接字/应用程序-服务器-默认情况下侦听端口443
仅供参考,出于方便的原因,两台服务器在同一个进程空间中运行。他们不需要处理大量的货物,所以我没意见。
一旦flash客户机从http套接字服务到浏览器,客户机就尝试打开到套接字/应用程序服务器的xmlsocket。
我现在想实现http隧道,这样即使用户在防火墙后面,我的客户机也可以连接到应用服务器。我不想涉及任何外部服务器(代理等)-简单地使用我已经拥有的服务器。
我的问题:
(1)最好使用443端口吗?(它最好欺骗防火墙吗?)
(2)据我所见,我需要做的只是确保我的实际应用程序数据从客户端和服务器端简单地封装在一个http结构中(前面是一个伪http头)。是这样还是我在这里遗漏了什么?
(3)我是否需要继续隐藏/封装通过套接字发送的每一条消息,或者在打开连接时只封装第一条消息?
提前谢谢你们!
绒毛

最佳答案

不要再发明轮子-使用远程通过AMF协议。amf基于http的二进制格式,在actionscript(mxml)和服务器端语言之间执行序列化。从技术上讲,这是http隧道。
adobe为as/java提供了amf的blazeds(开源)和lcds(商用)实现,但也有第三方的amf实现,用于as/php、as/python、as/ruby、as/.net。
顺便说一下,amf是一种开源格式。

10-06 15:04
查看更多