WebSocket API is an advanced technology that makes it possible to open a two-way interactive communication session between the user's browser and a server. With this API, you can send messages to a server and receive event-driven responses without having to poll the server for a reply.

注意: While a WebSocket connection is functionally somewhat similar to standard Unix-style sockets, they are not related.

接口

WebSocket

The primary interface for connecting to a WebSocket server and then sending and receiving data on the connection.

CloseEvent

The event sent by the WebSocket object when the connection closes.

MessageEvent

The event sent by the WebSocket object when a message is received from the server.

指南

工具

  • HumbleNet : A cross-platform networking library that works in the browser. It consists of a C wrapper around WebSockets and WebRTC that abstracts away cross-browser differences, facilitating the creation of multi-user networking functionality for games and other apps.
  • µWebSockets : Highly scalable WebSocket server and client implementation for C++11 and Node.js .
  • ClusterWS :  Lightweight, fast and powerful framework for building scalable WebSocket applications in Node.js .
  • CWS : Fast C++ WebSocket implementation for Node.js (uWebSockets v0.14 fork)
  • Socket.IO : A long polling/WebSocket based third party transfer protocol for Node.js .
  • SocketCluster : A pub/sub WebSocket framework for Node.js with a focus on scalability.
  • WebSocket-Node : A WebSocket server API implementation for Node.js .
  • Total.js : Web application framework for Node.js (Example: WebSocket chat )
  • Faye : A WebSocket (two-ways connections) and EventSource (one-way connections) for Node.js Server and Client.
  • SignalR : SignalR will use WebSockets under the covers when it's available, and gracefully fallback to other techniques and technologies when it isn't, while your application code stays the same.
  • Caddy : A web server capable of proxying arbitrary commands (stdin/stdout) as a websocket.
  • ws : a popular WebSocket client & server library for Node.js .
  • jsonrpc-bidirectional : Asynchronous RPC which, on a single connection, may have functions exported on the server and, and the same time, on the client (client may call server, server may also call client).
  • cowboy : Cowboy is a small, fast and modern HTTP server for Erlang/OTP with WebSocket support.

规范

规范 状态 注释
HTML 实时标准
The definition of 'WebSocket API' in that specification.
实时标准
WebSockets 候选推荐
RFC 6455: The WebSocket Protocol IETF RFC

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
WebSocket Chrome 4 Edge 12 Firefox 11
11
bug 695635 .
不支持 7 — 11 Prefixed
Prefixed Implemented with the vendor prefix: Moz
Message size limited to 16 MB (see bug 711205 ).
不支持 4 — 6
Message size limited to 16 MB (see bug 711205 ).
IE 10 Opera 12.1 Safari 5 WebView Android ≤37 Chrome Android 18 Firefox Android 14
14
bug 695635 .
不支持 7 — 14 Prefixed
Prefixed Implemented with the vendor prefix: Moz
Message size limited to 16 MB (see bug 711205 ).
不支持 4 — 6
Message size limited to 16 MB (see bug 711205 ).
Opera Android 12.1 Safari iOS 4.2 Samsung Internet Android 1.0
WebSocket() 构造函数 Chrome Yes Edge ≤79 Firefox 7
7
不支持 4 — 7
参数 protocols not supported.
IE ? Opera Yes Safari ? WebView Android Yes Chrome Android Yes Firefox Android 7 Opera Android ? Safari iOS ? Samsung Internet Android Yes
binaryType Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
bufferedAmount Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
close Chrome 4 Edge 12 Firefox 8
8
不支持 4 — 8
Parameters not supported, see bug 674716 .
IE 10 Opera 12.1 Safari 5 WebView Android ≤37 Chrome Android 18 Firefox Android 8
8
不支持 4 — 8
Parameters not supported, see bug 674716 .
Opera Android 12.1 Safari iOS 4.2 Samsung Internet Android 1.0
close event Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari ? WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android ? Safari iOS ? Samsung Internet Android Yes
error event Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari ? WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android ? Safari iOS ? Samsung Internet Android Yes
extensions Chrome Yes Edge 12 Firefox 8 IE ? Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android 8 Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
message event Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari ? WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android ? Safari iOS ? Samsung Internet Android Yes
onclose Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
onerror Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
onmessage Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
onopen Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
open event Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari ? WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android ? Safari iOS ? Samsung Internet Android Yes
协议 Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
Supports protocol as specified by RFC 6455 Chrome 16 Edge 12 Firefox 11 IE 10 Opera 15 Safari 6 WebView Android Yes Chrome Android 18 Firefox Android 14 Opera Android 14 Safari iOS 6 Samsung Internet Android 1.0
readyState Chrome 43 Edge 12 Firefox 19 IE 10 Opera 30 Safari 10 WebView Android 43 Chrome Android 43 Firefox Android 19 Opera Android 30 Safari iOS 10 Samsung Internet Android 4.0
send Chrome 4 Edge 12 Firefox 18
18
bug 775368 .
不支持 11 — 18
Only parameter of type ArrayBuffer and 字符串 被支持。
不支持 8 — 11
Only parameter of type 字符串 被支持。
不支持 4 — 8
Only parameter of type 字符串 supported. Returns boolean .
IE 10 Opera 12.1 Safari 5 WebView Android ≤37 Chrome Android 18 Firefox Android 18
18
bug 775368 .
不支持 14 — 18
Only parameter of type ArrayBuffer and 字符串 被支持。
不支持 8 — 14
Only parameter of type 字符串 被支持。
不支持 4 — 8
Only parameter of type 字符串 supported. Returns boolean .
Opera Android 12.1 Safari iOS 4.2 Samsung Internet Android 1.0
url Chrome Yes Edge 12 Firefox Yes IE ? Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android Yes Opera Android Yes Safari iOS Yes Samsung Internet Android Yes
Available in workers Chrome Yes Edge ≤18 Firefox 37 IE ? Opera ? Safari ? WebView Android Yes Chrome Android Yes Firefox Android 37 Opera Android ? Safari iOS ? Samsung Internet Android Yes

图例

完整支持

完整支持

兼容性未知 ?

兼容性未知

见实现注意事项。

要求使用供应商前缀或不同名称。

要求使用供应商前缀或不同名称。

另请参阅

元数据

  • 最后修改:
  1. Websockets API
  2. 指南
    1. Writing WebSocket client applications
    2. Writing WebSocket servers
    3. Writing a WebSocket server in C#
    4. Writing a WebSocket server in Java
  3. 接口
    1. WebSocket
    2. CloseEvent
    3. MessageEvent

版权所有  © 2014-2026 乐数软件    

工业和信息化部: 粤ICP备14079481号-1