您当前的位置 :首页 > 学习资料 > 浏览器使用WebSocket实时通讯
投稿

浏览器使用WebSocket实时通讯

2021-03-22 00:15:26 来源: 作者: 责任编辑:cncml

如果你要有一个支持 WebSocket的服务器(Java、Php等),可以在浏览器中使用一个新的WebSocket服务协议,来打开一个链接:

  1. var socket = new WebSocket("ws://172.0.0.1:8080/SpringWebSocketPush/websck");  
复制代码
 

与http://这一URL 前缀等价的WebSocket 前缀 是 ws:// ,安全 WebSocket 则有一个与http://等价的 wss:// 前缀。


该套接口对象有四个用来监听套接口事件的回调:

  1.     socket.onopen = function(){        //打开
  2.     }
  3.  
  4.     socket.onmessage = function(){
  5.         //在event.data消息数据
  6.     }
  7.  
  8.     socket.onclose = function(){
  9.         //关闭WebSocket
  10.     }
  11.  
  12.     socket.onerror = function(){
  13.         //错误触发
  14.     }
复制代码
 

通过套接口发送数据,调用socket.send:

  1.     socket.send(message)
复制代码


 

代码附上:

  1. <!DOCTYPE html><html>
  2.     <head>
  3.         <meta charset="UTF-8">
  4.         <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
  5.         <title>WebSocket</title>
  6.     </head>
  7.     <body>
  8.     </body>
  9.     <script>
  10.         var socket;
  11.         if (window.WebSocket) {
  12.             socket = new WebSocket("ws://localhost:8080/myapp");
  13.             socket.onmessage = function(event) {
  14.                 alert("Received data from websocket: " + event.data);
  15.             }
  16.             socket.onopen = function(event) {
  17.                 alert("Web Socket opened!");
  18.             };
  19.             socket.onclose = function(event) {
  20.                 alert("Web Socket closed.");
  21.             };
  22.         } else {
  23.             alert("Your browser does not support Websockets. (Use Chrome)");
  24.         }
  25.  
  26.         function send(message) {
  27.             if (!window.WebSocket) {
  28.                 return;
  29.             }
  30.             if (socket.readyState == WebSocket.OPEN) {
  31.                 socket.send(message);
  32.             } else {
  33.                 alert("The socket is not open.");
  34.             }
  35.         }
  36.     </script>
  37. </html>
复制代码


 
 
 
 

文章来源: 责任编辑:cncml
版权声明:
1、本主题所有言论和图片纯属会员个人意见,与本网站立场无关
2、本站所有主题由该文章作者发表,该文章作者与享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、管理员和版主有权不事先通知发贴者而删除本文
不良信息举报信箱 新闻热线:18733599993 技术服务:18733599993 网上投稿
关于本站 | 广告服务 | 免责申明 | 招聘信息 | 联系我们
在线网 版权所有 Copyright(C)2005-2025