![]() | 1 wspsxing 2018-03-18 22:02:43 +08:00 ![]() 作为写过的,给你一点点建议 如果注重功能,可维护性,建议用自己熟悉的语言写,基于 WEB 框架或者 HTTP 库维护容易,功能容易完善。 如果是注重学习网络编程,从 C/Tcp 写起可以学习网络编程。 从某个 HTTP 库写起可以了解 WEB 框架。 |
2 AngelCriss 2018-03-19 00:01:35 +08:00 那你看语言无关的啊,比如 tcp ip 详解 |
3 AngelCriss 2018-03-19 00:01:54 +08:00 @wspsxing 又见 Rust 巨佬 |
![]() | 4 wellsc 2018-03-19 00:03:15 +08:00 via iPhone 先看书再看 tornado 源码 |
![]() | 5 wspsxing 2018-03-19 00:09:24 +08:00 via Android @AngelCriss 学霸你好。 |
6 hezhe 2018-03-19 00:14:24 +08:00 via Android 建议先自己写个对各种知识有粗浅了解,再结合书本学以致用,修改重构代码。 |
![]() | 7 cyheng OP @wspsxing 感谢大佬建议。 @AngelCriss 那本书全是理论太枯燥,看不下去,我更偏向于实践中学习。 @wspsxing 书指的是哪本书? 我换一种问法吧,网络编程这个概念是不是跟语言无关…这本虽然是用 c 作为例子,但是学完之后无论你用什么语言都能写一个服务器。如果大家回答是的话,我估计能下定决心啃这本书了。 |
![]() | 9 wspsxing 2018-03-19 00:45:42 +08:00 via Android @cyheng 我没有说哪本书啊,学霸说的那本 tcpip 详解作为理论补充也不错 你要是觉得 c 太繁杂,就用基于 java (你会的?)的 socket tcp 开始写呗,只是这个没有 c 的那么靠近底层。不过网络编程的知识是通用的。 |
![]() | 10 susecjh 2018-03-19 00:53:30 +08:00 用 C 吧,贼爽 |
![]() | 11 cyheng OP @wspsxing 额,刚才回复不小心 @错了不好意思…… 听到你这句我就安心了,其实我担心的就是会出现某种才有的特定 api 的情况。照你这么一说,只是不同语言的实现繁杂程度不同? |
![]() | 12 wspsxing 2018-03-19 01:11:27 +08:00 via Android 基本的 api 差不多的(名字不同也可能,但是肯定得有 api 才能满足需求啊,仔细看 api 文档),只是高级的语言可能没有暴露 c 那么多细节,然后写起来高级语言简单一些。 |
14 noli 2018-03-19 01:28:32 +08:00 从 netty 开始的话,就别想学到什么 TCP IP 的基础知识了吧。 本质上来说, 什么 netty nodejs 都是在 OS 提供的 C API 基础上,总结使用经验,经过大量抽象提炼的。 用来写写 网络应用是好的,但是对于了解低层原理没什么好处。 情形就好像让临床医生去研究 生物学,让建筑工程师研究理论物理绕太远了。 |
![]() | 15 zhengxiaowai 2018-03-19 10:26:14 +08:00 既然不想看理论,直接 github 中搜索源码看 |
16 AngelCriss 2018-03-20 00:46:48 +08:00 @cyheng 这玩意儿和数据结构算法啥的有共同点,套路都已一样的,你用 Java 也好 C 也好,最终都是调用系统函数,所以你看 unp 是没错的。 |
17 gabon 2018-04-30 11:54:51 +08:00 via Android 先看 unp 啊,我就是先看 unp 再看 netty。有了 unp 基础对理解 netty 有很大帮助 |