之前在 V2EX 发过贴,有收集一波 https://v2ex.com/t/605937#reply37, 老弟也没看哈哈哈哈,疫情期间学了 c 简单过了一遍网络编程 apue,希望能找一个短小精悍,适合深入阅读学习的开源代码,主要学习网络 进程间通信 ipc 等,老弟自己搜索找到一个库,https://github.com/acl-dev/acl 有看过这个源码的没,各位大佬有没有更好的推荐。
1
lbmjsls1 2020-09-09 17:45:54 +08:00
libevent 和 libuv,看一个就够了,我在看 libevent
|
2
guonaihong 2020-09-09 17:47:08 +08:00
c/c++的细节太多了,看的时候有种只见树叶不见树干的感觉。如果一定要选择 c/c++,可以试下 libev,代码相对少点。
|
4
paoqi2048 2020-09-09 17:58:36 +08:00
|
5
52coder OP @guonaihong 感谢推荐,有比 livevent 简单点的没,担心老弟看不懂呀,哈哈哈
|
6
lbmjsls1 2020-09-09 18:03:22 +08:00
@52coder 当时找网络库都了解看过,我感觉最好入门的就是 libevent 了,可以到管网看一下,好多项目在用。网路库主要是看个平台异步网络接口如何实现。我是为了看一下 epoll 有什么陷阱和借鉴,因为公司项目是 iocp,已经玩的差不多了,准备把项目移植到 linux 下
|
7
lbmjsls1 2020-09-09 18:05:16 +08:00
acl 不必 libevent 简单。更复杂的可以看一下 niginx,不过网路学习还是要自己做东西。主要是异常链接断开的处理。tcp 的粘包,什么 10053 10054 的错误
|
8
waruqi 2020-09-09 18:37:37 +08:00 via Android
tbox 里面也有协程和网络相关的库 c 库 也是跨平台的 https://github.com/tboox/tbox ,里面的协程支持 epoll poll select kqueue 甚至 win iocp 的调度,除了 socket,还有 pipe 和 进程调度也同时支持
|
9
BBCCBB 2020-09-09 18:43:08 +08:00
貌似 redis 的网络实现比较简单, 可以研究一下, 我没看过, 不怎么会 c..
|
10
timsensor 2020-09-09 19:04:07 +08:00 via Android
asio
|
11
asuraa 2020-09-09 19:11:04 +08:00
我用的 poco 建议看看 poco 真正的现代 cpp
当然 boost asio 也不错 |
13
angryfish 2020-09-09 20:05:16 +08:00 via iPhone
建议不要看,直接做项目
|
14
shuax 2020-09-09 20:37:09 +08:00
asio 吧,听说以后就是 C++标准
|
15
CareiOS 2020-09-09 20:39:09 +08:00
asio+1
|
16
MeteorCat 2020-09-09 20:42:59 +08:00 via Android
moduo
|
17
turi 2020-09-09 21:59:41 +08:00
asio+1
确实 c++标准都从 boost 里面扒了好多内容 |
18
Tony042 2020-09-09 22:43:50 +08:00
muduo
|
21
wzzzx 2020-09-09 23:22:15 +08:00
@52coder #19 我觉得 muduo 这样库就挺不错的,还有专门一本书将实践。能搞懂 muduo 的人,肯定不差,你说呢
|
22
zhuangzhuang1988 2020-09-09 23:55:26 +08:00
|
23
PUBG98k 2020-09-10 15:32:38 +08:00
|
24
livepps 2020-09-10 16:41:00 +08:00
asio +1
|
25
DCounter 2020-09-14 10:33:42 +08:00
"疫情期间学了 c 简单过了一遍网络编程 apue" 这是花了多少时间啊,学到啥程度了啊?
|