2011-06-13 86 views
5

我正在尝试使用HTML5 WebSockets创建一个Chrome扩展,并且无法获得明确的示例。我希望社群能以清晰简明的方式回答我的几个问题。如何使用适用于Chrome扩展的HTML5 WebSockets

  1. WebSocket服务器可以添加到Google Chrome扩展吗?无论哪种方式可以有人告诉我究竟需要什么来建立一个服务器或包含一个体面的链接,以清晰的例子?
  2. 连接到WebSocket服务器时,每个人都有类似ws:// localhost:端口号的东西。 ws是必需的还是什么意思?我不知道这是否意味着文件位置或内容。只是为了确保IP地址和端口号是您的服务器所在的位置以及它正在侦听的端口号?
  3. 像这样的推文网站只是一种在两个不同设备之间发送通信的方式,而且您仍然需要一台服务器,或者这样做取代了服务器/这可以取代服务器。

我已经做了相当多的谷歌搜索,所以它不像我对这个话题一无所知。我只是不明白所有不同的事情,websocket API没有给出它的任何函数的定义,也没有真正解释如何使用它的任何东西。

一些链接我已签出:http://dev.w3.org/html5/websockets/http://jnext.org/index.htmlhttp://www.pusher.com/http://jwebsocket.org/http://joshuakehn.com/blog/view/2/WebSocket-Tutorial-with-Node-js

我需要的东西,并不需要安装到计算机上。所有服务器/客户端/编码都需要是可以放入Chrome扩展的JavaScript。感谢任何能够帮助我的人。

+0

你觉得你的问题得到了充分的回答吗?如果没有,是否有什么你觉得没有完全回答你的问题? – kanaka 2012-02-29 23:20:58

+0

仍然没有办法在chrome扩展中运行websocket服务器。即使'chrome.sockets.tcp'也缺少'listen'方法。 – 2016-06-29 15:54:49

回答

2
  1. 这似乎是你说你想在客户端上运行websocket服务器?这是不可能的。您无法从浏览器启动用户计算机上的进程。

  2. ws表示使用web套接字协议,就像http指示使用超文本传输​​协议,或者ftp指示使用文件传输协议。

  3. Pusher是一种为您托管并运行Web套接字服务器的服务。您也可以编写自己的Web套接字服务器并将其安装在您自己的服务器上。

+0

以及我不希望扩展中的客户端和服务器都需要扩展中的服务器。客户端将尝试访问扩展。 – eric 2011-06-13 22:03:07

+1

你的运气不好。即使你可以在用户的​​机器上安装一个服务器(你不能这样做),你必须处理诸如端口被打开以及能够通过防火墙接受传入连接等问题。你需要有Web套接字服务器位于其他地方,然后他们的浏览器可以通过JavaScript web套接字API连接到服务器。 – 2011-06-13 22:07:19

0
  1. 没有API来创建一个WebSockets的服务器作为一个Chrome扩展。 websockify包含一个用于轻松创建WebSocket服务器的python类。请参阅tests/echo.py示例。

  2. ws://前缀表示未加密的WebSockets连接。同样,wss://用于加密连接(使用TLS/SSL)。需要一个或另一个。

  3. Pusher是一个WebSockets服务,它为原始WebSockets提供一个层,为您提供会话管理。您不需要单独的WebSockets服务器。

+0

因此,如果我要注册Pusher,我不需要托管服务器?推送者会接受来自外部来源的消息并将其发送给分机? – eric 2011-06-13 22:04:21

+0

“外部来源”仍然需要是某种WebSockets客户端(浏览器或其他)。但是,是的,它可以向Pusher发送消息,然后将消息发送给其他连接的客户端(浏览器)。即你可以有一个特殊的客户端发送股票价格,其他客户端可以连接并接收这些消息。请注意,如果您希望每天有超过20个连接(客户端)或100,000条消息,则Pusher是商业广告。 – kanaka 2011-06-13 22:13:52