Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将HTML5 WebSocket用于Chrome扩展_Javascript_Html_Google Chrome Extension_Websocket - Fatal编程技术网

Javascript 如何将HTML5 WebSocket用于Chrome扩展

Javascript 如何将HTML5 WebSocket用于Chrome扩展,javascript,html,google-chrome-extension,websocket,Javascript,Html,Google Chrome Extension,Websocket,我正在尝试使用HTML5 WebSockets创建一个chrome扩展,但没有一个明确的例子。我有几个问题,希望社区能以清晰简洁的方式回答我 WebSocket服务器,可以添加到Google Chrome扩展吗?无论哪种方式,有人能确切地告诉我制作服务器需要什么,或者包括一个指向清晰示例的适当链接吗 当连接到WebSocket服务器时,每个人都有类似于ws://localhost:port-number的端口号。ws是必需的,或者这有什么意义?我不知道这是否意味着是一个文件位置或什么。只是为了确

我正在尝试使用HTML5 WebSockets创建一个chrome扩展,但没有一个明确的例子。我有几个问题,希望社区能以清晰简洁的方式回答我

  • WebSocket服务器,可以添加到Google Chrome扩展吗?无论哪种方式,有人能确切地告诉我制作服务器需要什么,或者包括一个指向清晰示例的适当链接吗
  • 当连接到WebSocket服务器时,每个人都有类似于ws://localhost:port-number的端口号。ws是必需的,或者这有什么意义?我不知道这是否意味着是一个文件位置或什么。只是为了确保IP地址和端口号是您的服务器所在的位置,以及它正在侦听的端口,对吗
  • 像pusher at这样的网站只是在两个不同的设备之间发送通信的一种方式,而你仍然需要一台服务器,或者这会取代服务器吗 我已经在谷歌搜索了很多次,所以我对这个话题并不是一无所知。我只是不理解所有不同的东西,websocket API没有给出任何函数的定义,也没有真正解释如何使用它

    我已签出的一些链接:

    我需要一些不需要安装到计算机上的东西。所有服务器/客户端/编码都需要是javascript,可以放在chrome扩展中。谢谢你能帮助我的人

  • 看起来您是说要在客户端上运行websocket服务器?那是不可能的。不能从浏览器启动用户计算机上的进程

  • ws表示使用web套接字协议,就像http表示使用超文本传输协议或ftp表示使用文件传输协议一样

  • Pusher是为您托管和运行web套接字服务器的服务。您还可以编写自己的web套接字服务器并将其安装到自己的服务器上

  • 没有API将WebSockets服务器创建为Chrome扩展。包含用于轻松创建WebSocket服务器的python类。请参见
    测试/echo.py
    示例

  • ws://
    前缀表示未加密的WebSocket连接。同样,
    wss://
    用于加密连接(使用TLS/SSL)。其中一个是必需的

  • Pusher是一个WebSocket服务,它在原始WebSocket之上提供一个层,为您进行会话管理。您不需要单独的WebSockets服务器


  • 我不希望客户端和服务器都在扩展中,我希望服务器在扩展中。客户端将在其他地方尝试访问扩展。您的运气不好。即使您可以在用户的机器上安装服务器(您不能),您也必须处理诸如端口打开和能够通过防火墙接受传入连接之类的问题,等等。你需要让web套接字服务器位于其他地方,然后他们的浏览器可以通过JavaScript web套接字api连接到服务器。那么,如果我要注册Pusher,我就不需要托管服务器了?Pusher将接受来自外部源的消息并将其发送到扩展?该“外部源”仍然需要是某种类型的WebSockets客户端(浏览器或其他)。但是是的,它可以向Pusher发送消息,然后Pusher将消息发送到其他连接的客户端(浏览器)。也就是说,你可以有一个特殊的客户发送股票价格,其他客户可以连接并接收这些消息。请注意,如果您希望每天有20个以上的连接(客户端)或100000条消息,Pusher是商业性的。您觉得您的问题得到了充分的回答吗?如果没有,您是否觉得缺少什么来完全回答您的问题?在chrome扩展中仍然无法运行websocket服务器。甚至
    chrome.sockets.tcp
    lock
    listen
    method。