
最近做了一个 websocket 相关的项目,发现自己的网络编程水平比较差,目前想要重新学习一下, 最后希望用 java 实现一下 tcp 协议,希望大家能给一点指导建议。
1 kljsandjb 2023-08-09 21:53:07 +08:00 via Android 参考参考 lwIP |
2 pagxir 2023-08-09 21:53:38 +08:00 Web socket 不需要实现 tcp 协议吧。难道你 Java 是跑在裸板上,连个操作系统没有? |
3 aminobody 2023-08-09 22:23:34 +08:00 via Android cs144 |
4 opengps 2023-08-09 23:29:39 +08:00 via Android tcp 协议你只需要知道怎么收发,怎么异步收发。处理好稳定性,自动断线重建。再就是知道怎么定义自己的数据通信协议解析规则,也可以说通信规约,这就足够了 |
5 Pony69 2023-08-09 23:37:56 +08:00 via Android Java 的话,要不尝试一下 netty 。 |
6 Znemo 2023-08-10 01:04:47 +08:00 普遍意义上说的 TCP 协议是操作系统实现的。 |
9 Rehtt 2023-08-10 08:29:28 +08:00 tcp 是操作系统内核实现的,java 只是调用系统提供的 socket 接口 |
10 selca 2023-08-10 08:39:08 +08:00 via Android 要不要试试用 kotlin+netty 实现 trojan 代理协议,跟 Java 差不多。 https://github.com/selcarpa/surfer 这是仓库地址,当前完整的介绍文档正在筹划中,里面也有很多坑没填,比如 kcp ,比如 UDP 代理。 |
11 Nazz 2023-08-10 08:53:12 +08:00 via Android 实现个可靠 UDP 得了 |
12 ybz 2023-08-10 09:34:12 +08:00 好家伙,手撸 tcp 协议,很复杂的兄弟,可靠传输、流量控制、拥塞控制、连接建立。。。。光一个可靠传输就让人头皮发麻。 |
13 wanguorui123 2023-08-10 10:37:57 +08:00 quic |
14 iOCZ 2023-08-10 11:44:21 +08:00 会用 socket 就行了,想自己实现 TCPIP 协议栈的话。。。。想屁吃 |
15 mmdsun 2023-08-10 13:23:59 +08:00 via iPhone tcp ip 详解卷 2 ,就是讲实现的照着撸一遍。再试着用 Java 写吧 |
16 Saturn72 2023-08-11 09:09:45 +08:00 可以看下中国大学慕课上哈工大的计网课程,讲的还是很全面的,当年上大学没认真学计网,上半年在 MOOC 上补的课,讲的真的很好 |
17 smirkcat 2023-08-11 11:51:43 +08:00 java 就别了 别给自己找没用事做。。。 |
18 xmt328 2023-08-11 13:58:35 +08:00 从问题来看,我觉得 OP 先要了解下 websocket 和 Tcp 的关系 |
19 xsen 2023-08-11 16:47:16 +08:00 1. 实现 tcp server ,可支持多客户端连接及一定并发量 2. 实现 tcp client ,可实现多客户端(如数百、数千),支持重传、重连 3. 实现 request/reply 、主动推送消息模型 4. 设计 binary protocol 并实现( magic 、header-cmd/subcmd 、crc 、seqno 等) |