HTML5 WebSocket 简单实例

什么是WebSocket

WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
例如 网页的 一部分 需要 实时更新数据 如果用ajax 请求的话 需要 不断的建立http连接请求 给服务器造成压力的同时也不能保证数据的实时性(拉方式)
而WebSocket 则可以 实现真正的实时性,建立连接后服务器可以不断的发送数据给客户端。(推方式)

WebSocket 简单实例

function webSocketTest() {
        if ("WebSocket" in window) {
            var webSocket = new WebSocket("ws://请求的地址");

            webSocket.onopen= function () {
                 //Web Socket 已经连接上,使用send() 方法发送数据
                alert("数据发送中......")
                webSocket.send("asdfasdf");
            }
            webSocket.onmessage= function (evt) {
                alert("接收的数据是:"+evt.data);
            }
            webSocket.onclose= function () {
                //关闭websocket
                alert("连接已关闭");
            }
            webSocket.onerror= function () {
                alert("通信错误")
            }
        } else {
            alert("抱歉你的浏览器不支持WebSocket")
        }
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力用中文回答你的问题。 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它使得客户端和服务器之间可以进行双向通信,让应用程序可以更加实时地收发数据。 HTML 是超文本标记语言,用于构建网站。Java 是一种广泛使用的计算机编程语言。 如果你想使用 WebSocket 连接 HTML 前端和 Java 后端,你需要在 HTML 前端使用 JavaScript 建立 WebSocket 连接,并在 Java 后端使用相应的库来接收和处理 WebSocket 请求。 下面是一个简单HTML 前端代码示例,用于建立 WebSocket 连接并发送数据: ``` <script> var socket = new WebSocket("ws://example.com/server"); socket.onopen = function(event) { console.log("WebSocket is open now."); socket.send("Hello, server!"); }; socket.onmessage = function(event) { console.log("Received message: " + event.data); }; socket.onclose = function(event) { console.log("WebSocket is closed now."); }; </script> ``` 下面是一个简单的 Java 后端代码示例,用于接收 WebSocket 请求并返回数据(使用了 JavaEE 的 javax.websocket 库): ``` @ServerEndpoint("/server") public class WebSocketServer { @OnOpen public void onOpen(Session session) { System.out.println("WebSocket opened: " + session.getId()); } @OnMessage public void onMessage(String message, Session session) { System.out.println("Received message: " + message); try { session.getBasicRemote().sendText("Hello, client!"); } catch (IOException

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值