我正在将 mochiweb 用于服务器,该服务器也可能获得客户端向其发送简单字符串的 TCP 连接(没有换行符,该字符串不是 http)。Mochiweb 使用 HTTP 套接字,因此无法检测到这一点(我什至不明白http_error
我可以轻松进入 mochiweb)。我该如何解决这个问题?理想情况下,我希望更改 mochiweb 代码来做,setopt({packet, http_or_raw})
但这种事情不存在。你会建议如何处理这个?我目前的想法是修改 mochiweb 并使用erlang:decode_packet
,有更好的方法吗?
编辑:
更多信息。我们的服务器是一个 websocket 服务。我们希望允许没有 ws 支持浏览器的人使用它,因此当浏览器不能使用时,我们使用 flash 对象来执行 websocket。flash 对象需要获取一个 flash 策略文件。Flash 强制文件位于以下两个位置之一: - 端口 843(Flash 硬编码) - ws 服务的端口 Flash 协议不是基于 HTTP 的。Amazon ELB 不允许对低于 1024 的大多数端口进行端口转发,因此我们通过 mochiweb 的补丁(https://github.com/nivertech/mochiweb/tree/ori_flash_170811)在同一端口实现了闪存服务器。
有什么建议吗?