码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • WebSocket


    Socket是TCP/IP网络的API,是为了方便使用TCP或UDP而抽象出来的一层,是位于应用层和传输控制层之间的一组接口;而WebSocket则是一个典型的应用层协议。

    WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP请求完成。

    在Java中,提供了两个类用于实现TCP通信

    // java.net.Socket
    Socket socket = new Socket("127.0.0.1",6666);
    socket.getOutPutStream().write("hello");
    
    // java.net.ServerSocket
    ServerSocket ss = new ServerSocket(6666);
    Socket server = ss.accept();
    byte [] bytes=new byte[1024];
    InputStream in = server.getInputStream();
    int len = in.read(bytes);
    String msg = new String(bytes,0,len);
    

    HTTP协议从一开始被设计成请求/响应模式,所以要实现服务器主动推送到客户端只能用轮询的方式,实时性体验不够友好,而且资源也在消耗,不怎么友好。WebSocket服务一般只需要留意它的操作符即可

    1. 文本消息
    2. 二进制消息
    3. 分片消息(代表此消息是一个某个消息中的一部分)
    4. 连接关闭消息
    5. PING消息
    6. PONG消息(PING的回复就是PONG)

    和 HTTP 相比,WS 至少有以下几个优点:

    使用的资源更少:因为它的头更小。
    实时性更强:服务端可以通过连接主动向客户端推送消息。
    有状态:开启链接之后可以不用每次都携带状态信息。

    对于Java来说,实现websocket大体上有4种方式

    1. SpringBoot-Web
    2. SpringBoot-WS
    3. netty-socketio
    4. netty
  • 相关阅读:
    工厂模式设计思路
    附文献!艾美捷抗人IFN-αmAb(MT1)未偶联相关研究
    Webrtc MCU SFU模式OWTServer Docker快速运行
    UE必学系列(基础篇完结)
    计算机毕业论文java毕业设计选题源代码
    华为OD机考算法题:MVP争夺战
    中国技术的对外输出:Telegram也开始搞小程序应用了
    可逆矩阵的性质
    Linux EXPORT_SYMBOL宏详解
    redis的原理和源码-发布订阅
  • 原文地址:https://blog.csdn.net/qq_37776700/article/details/126945835
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号