WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。当你获取 Web Socket 连接后,你可以通过 send() 方法来向服务器发送数据,并通过 onmessage 事件来接收服务器返回的数据。

    1. <!DOCTYPE HTML>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>W3Cschool教程(w3cschool.cn)</title>
    6. <script type="text/javascript">
    7. function WebSocketTest()
    8. {
    9. if ("WebSocket" in window)
    10. {
    11. alert("您的浏览器支持 WebSocket!");
    12. // 打开一个 web socket
    13. var ws = new WebSocket("ws://localhost:9998/echo");
    14. ws.onopen = function()
    15. {
    16. // Web Socket 已连接上,使用 send() 方法发送数据
    17. ws.send("发送数据");
    18. alert("数据发送中...");
    19. };
    20. ws.onmessage = function (evt)
    21. {
    22. var received_msg = evt.data;
    23. alert("数据已接收...");
    24. };
    25. ws.onclose = function()
    26. {
    27. // 关闭 websocket
    28. alert("连接已关闭...");
    29. };
    30. }
    31. else
    32. {
    33. // 浏览器不支持 WebSocket
    34. alert("您的浏览器不支持 WebSocket!");
    35. }
    36. }
    37. </script>
    38. </head>
    39. <body>
    40. <div id="sse">
    41. <a href="javascript:WebSocketTest()">运行 WebSocket</a>
    42. </div>
    43. </body>
    44. </html>