有没有什么练手项目可以充分利用到计算机网络相关知识?

2020-11-08 11:44:34 +08:00
 zhao1014

实现一个简易 Tomcat 服务器可以吗?

8634 次点击
所在节点    Java
55 条回复
raaaaaar
2020-11-08 17:00:50 +08:00
一千多点击,这么点回复,这让我想起知乎上一个问题,为什么国外的论坛,如 quora 人们不喜欢评论,但是知乎喜欢评论
murmur
2020-11-08 17:05:02 +08:00
自己写一个 qq,不要用 tcp 直接 raw socket 自己开整
Exin
2020-11-08 17:36:55 +08:00
给 openwrt 做点贡献?
janus77
2020-11-08 17:48:54 +08:00
内网的实时聊天软件就很不错,包括服务端和客户端,如果想学客户端知识顺便可以自己写客户端,不想的话就用命令行实现吧
grofis
2020-11-08 18:26:19 +08:00
如无必要 勿增实体
如果有了 Tomcat 为什么还要实现 Tomcat
wudaye
2020-11-08 18:36:36 +08:00
裸写个 http 服务器?
ccsexyz
2020-11-08 18:41:23 +08:00
代理太简单了,整个复杂点的吧,写个 http server 吧。 比如 https://github.com/zyearn/zaver
lqw3030
2020-11-08 18:56:06 +08:00
写个内网穿透,很有趣的
cdlnls
2020-11-08 18:57:28 +08:00
计算机网络我觉得核心就在路由交换和协议,只是一个应用单独看上去确实少了很多。

建议整个模拟器实际上手组网,或者上面说的 k8s 的网络配置。
levelworm
2020-11-08 20:04:00 +08:00
写个 MUD 算么。。。用 socket
SpiderXiantang
2020-11-08 20:17:16 +08:00
我感觉自己实现一套 tcp 还行,实现 tomcat 的话其实是在练习 socket 编程,并且里面的容器啥的实现其实对网络水平提升没啥用
nutting
2020-11-08 20:29:07 +08:00
去看 gost 这个软件的源码
XiLingHost
2020-11-08 22:28:30 +08:00
dn42
simonlu9
2020-11-08 23:10:57 +08:00
unix 网络编程 里面有一个是从 0 到 1 的 sokcet 服务器改造的,里面牵涉很多知识点,对着代码敲应该吸收很多,看源码的话你压根不知道为什么参数这么设,比如为什么聊天室都会有心跳包这玩意,本身 tcp 就有 keepalive,这种问题你不遇到过根本不知道为什么要这样做
xchaoinfo
2020-11-08 23:25:32 +08:00
mitmproxy 是不是有帮助,最近在啃这个的源码
msg7086
2020-11-09 07:12:11 +08:00
@laminux29 简易的 tomcat 很难吗?
分解一下的话,多线程,套接字,然后拿包出来拆一下字段塞进字典里喂给后端的程序不就结了。
都说是简易的 tomcat 了,当然不需要做到能进 bat 的程度。
chaleaoch
2020-11-09 09:17:12 +08:00
不知道计算机网络知识具体指什么. 我觉得搞一个类似 v2ray 的东西应该挺难的...
zhao1014
2020-11-09 09:39:50 +08:00
@chaleaoch 运用 TCP/HTTP 协议相关知识
zomco
2020-11-09 09:40:03 +08:00
@zhao1014 硬件树莓派,软件 OpenWrt,容易上手,社区生态都可以。建议有目的去做,比如做个扶墙的家庭网关
echoe
2020-11-09 10:33:44 +08:00
Mark 我也想学一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/722860

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX