栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

WebSocket的基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WebSocket的基础

个人笔记

这里是引用

一。什么是WebSocket

一个基于tcp的全双工实时通信协议(还有很多相似 sse spdy webrtc)

握手阶段还是利用http协议
可以一次握手持续通讯

Websocket 使用ws 或者 wss的统一资源标识符
wss代表加密

upgrade 协议升级
菜鸟教程图


二、小案例两个页面互相发送文字

pom配置

      
        javax
        javaee-api
        7.0
        provided
      

      
        org.java-websocket
        Java-WebSocket
        1.3.5
      

服务器端

@ServerEndpoint("/websocket/server/{userid}")
public class WebSocketServer {
//接收 长连接 : 存储长连接
    static Map sessions=new HashMap<>();// map做列表  直接mep。get(userID)
    public String userid;
    public Session session;

    @OnOpen
    public void onOpen(@PathParam("userid") String userid, Session session){
        this.userid=userid;
        this.session=session;
        sessions.put(userid,this);
        System.out.println("接收到请求:"+userid);
    }
    @OnClose
    public void onClose(Session session){
        sessions.remove(userid);
    }
    
    @OnMessage
    public void onMessage(String message, Session session) {
         System.out.println("服务器收到客户端的消息:"+message);
        String[] split = message.split("--");
        String s = split[0];
        message  = split[1];
        this.sendMessage(s,message);
    }
    //封装一个方法:服务器给客户端发消息
    public void sendMessage(String userid,String message){
        try {
            sessions.get(userid).session.getBasicRemote().sendText(message);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

客户端 2

<%--
  Created by IntelliJ IDEA.
  User: 15836
  Date: 2021/11/8
  Time: 9:23
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title
    


客户端 1

<%--
  Created by IntelliJ IDEA.
  User: 15836
  Date: 2021/11/8
  Time: 9:23
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title
    


效果图

注意 学习下 socket.io

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/459849.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号