首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

请问有大佬知道怎么用 Java 实现一个类似 http 协议的自定义协议吗?

  •  
  •   Lusai · 101 天前 · 675 次点击
    这是一个创建于 101 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要掌握哪些知识呢? 实现 http 协议的源码能在哪里看到吗?

    10 回复  |  直到 2019-06-06 12:14:36 +08:00
        1
    vincel   101 天前
    肯定是基于 tcp 重新实现呗 指定好你自己的规则 什么三次握手,数据交换。验证之类的
        2
    mmdsun   101 天前 via Android
    参考 RESP(Redis Serialization Protocol)。文本协议实现很简单。想一楼说的如果要 tcp/ip 协议就难了。
        3
    arloor   101 天前   ♥ 1
        4
    arloor   101 天前   ♥ 1
    java 会用 netty、知道 http 协议的格式之后。
    用 netty 写一个简单版 http 协议实现还是挺简单的
    一楼提到的三次握手,java 根本不需要处理。

    需要编写的代码只有两个部分:
    写 http 请求格式的字节数组;
    解析 http 响应格式的字节数组;

    两句回复肯定帮不了多少,至少得会 java 网络编程,java 网络编程又离不开 netty。
    懂了 netty 后,了解 ByteToMessageDecoder 之后,我觉得应该就没什么难度了
        5
    Lusai   101 天前
    谢谢各位!
        6
    virusdefender   101 天前   ♥ 1
    grpc 就够了,真的要自己实现么?还是有些麻烦的
        7
    honeycomb   101 天前 via Android
    @arloor netty 是个好东西
        8
    Lusai   101 天前
    @arloor 谢谢,有了大概的方向就比较好着手了
        9
    Cbdy   101 天前 via Android
    Netty 源码本身已经提供一些协议的参考实现,去参考一下吧
        10
    PHPer233   101 天前 via iPhone
    socket 编程?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2025 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 34ms · UTC 10:11 · PVG 18:11 · LAX 03:11 · JFK 06:11
    ♥ Do have faith in what you're doing.