如何将客户端连接到客户端(浏览器)套接字连接?

时间:2010-10-05 14:19:47

标签: javascript html sockets websocket

我一直在考虑为客户端程序构建客户端。但我想要的方式是使用broswer来做,在可以建立连接的服务器的帮助下。

当我需要在客户端中有一个未被连接的套接字(或者是pasive),等待连接时,就会出现问题。

我一直在考虑使用Html5 WebSockets,但它没有给客户端提供一个没有用TCP协议连接的插件的可能性。

我正在学习这个并试图找到这样做的方法。所有的想法都很好:D。

2 个答案:

答案 0 :(得分:4)

您可以在Java applet,Flash和其他浏览器插件中使用被动套接字,但通常这对于公共Web应用程序可能存在问题。

首先,很难通过防火墙等,您需要依赖并编写实现套接字API的浏览器插件的代码,并将其桥接到JavaScript。如果您对某些解决方案感兴趣,可能需要查看以下Stack Overflow帖子:

传统浏览器之间的对等通信方法是让您的服务器充当所有连接的网关。浏览器启动连接(使用WebSocketsXMLHttpRequest)并始终保持与服务器的活动连接,如果丢失则重新建立连接。由于服务器应用程序将始终找到与所有连接的浏览器的开放TCP连接,因此它可以轻松地向/从所有客户端路由消

答案 1 :(得分:0)

正如丹尼尔所说,你将很难在浏览器中尝试真正的点对点(Skype等),如果不使用插件肯定是不可能的。甚至Skype等依赖于在无法建立直接连接时(由于防火墙等)而退回到充当网关的服务器。

所以你真的需要一个网关服务器,并且有很多选择。尝试在这里搜索'彗星'。我玩过的一些选项包括Orbited(http://orbited.org/)和Hookbox(http://hookbox.org/),但还有很多其他选项。