30dayMakeCppServer icon indicating copy to clipboard operation
30dayMakeCppServer copied to clipboard

30天自制C++服务器,包含教程和源代码

Results 63 30dayMakeCppServer issues
Sort by recently updated
recently updated
newest added

server.cpp中的以下这段代码(70行) ``` else if(bytes_read == -1 && errno == EINTR){ //客户端正常中断、继续读取 printf("continue reading"); continue; } ``` 我查了一些资料,errno == EINTR是信号中断时read所返回的错误代码,而信号中断这个概念中的信号发送对象应该时服务器的内核、服务器的外部设备、或者是服务器的操作人员(比如ctrl+c挥着执行kill命令等)。 **_所以我的第一个问题是:作者在注释中写道“客户端正常中断”,执行这个分支跟客户端有关系吗?我觉得这里的注释应该是“服务器正常中断、继续读取”。_** 还有就是在各种资料中我得到了一个结论:“中断信号被捕获并处理时,read() 才会被中断返回 -1 并设置 errno == EINTR”,而捕获并处理的代码应该是这样的: ``` signal(SIGINT, sigint_handler);...

1.为什么我已经安装了clang-format和clang-tidy,且安装在预设寻找的路径中,却在执行时提示未找到,然后我手动把路径set到这两个工具的位置,才可以找到 2.clang-tidy工具会提示报错找不到funcational,string等标准库,但是可以正常编译和运行 ,并且没有其他的修改意见,比如作者提到的所有的类应被声明为不可拷贝、不可移动,按值传参应被修改为引用传参等。 3.还遇到了python脚本没有运行权限的问题,但是已经解决,通过chmod 777 增加权限,以及找不到/usr/bin/env中python文件,原因是env中的python环境是python3.10的文件名,可以通过配置软连接link /usr/bin/env/python3.10 /usr/bin/env/python 然后是作者makedown中的小问题,因为源码中设置的可执行文件的输出路径为build/bin,因此生成的可执行文件应该在build/bin目录下,而作者文中写的是built/test

博主看看是不是可以开个众筹链接,还是仍然非常期待有更新,有资金的话是不是更有动力哈哈