为什么使用http(s)+ comet而不仅仅是套接字编程+如果防火墙/阻塞是一个问题,可能使用相同的端口80或443?
等等,也许是因为浏览器没有javascript套接字API?
如果我正在构建独立的应用程序而不是网络应用程序,那么彗星是否比套接字编程有任何优势?
答案 0 :(得分:3)
您说得对,Web浏览器的安全模型不允许传统的套接字编程。虽然,较新的HTML5标准描述了实现类似功能的WebSocket。
如果你正在建立一个独立的程序,当然没有什么能阻止你使用任何端口做任何事情。一些系统管理员可能会发现为自定义协议声明端口80或443有些不好,在许多设置中,这些端口已经用于其传统角色。但这是针对有关网络的。
编辑:由于创建Comet / HTTP(S)连接以解决浏览器中的限制,因此它们与套接字编程相比没有特别的优势。选择使用女巫的方法主要是性能问题:性能越重要,使用套接字的原因越大,反之亦然。哪种方法对您的框架有最好的支持也应该重视决策。主观上,如果不涉及浏览器,我会倾向于使用套接字编程。