我正在Nodejs上建立一个系统& Socket.io向客户提供实时事件(包括移动)。
我理解使用websockets时,由于HTTP 喜欢握手,可能会出现遍历某些代理的问题,并且因为它可以使用websockets安全性来提高可靠性。
避免选择端口和协议引起的问题非常重要。为了最大限度地兼容,端口80是避免企业等封闭端口的最佳选择吗? socket.io SSL和wss一样可靠吗?
提前感谢您的建议!
答案 0 :(得分:2)
SSL并不是节点的优势之一,但开发团队正在努力解决这个问题。所以我不会说SSL更可靠。
至于端口/代理..这是一场噩梦,你有防火墙阻止端口80以外的端口。你有病毒扫描程序阻止websockets和其他轮询请求,并允许它在不同的端口。
对于我们的网站,我们发现大约5%的访问者无法访问4000端口。这是相当大的一笔。
所以真的没有理想的端口..但是如果你只是建议你使用端口80并且可能提供端口8080的后备,这样当你从socket.io获得connect_failed事件时你可以尝试通过不同的端口连接。
在服务器端,您可以使用IPTables为此做一些简单的端口转发,但我确定谷歌可以告诉您更多关于这一点,因为它不是我最强的点; D
无论如何,希望这会有所帮助。