文章目录

  • ​​1.文件传输​​

1.文件传输

  • 文件传输(MuduoManual.pdf P57)
  • eg:服务端程序
    42\jmuduo\examples\filetransfer\download.cc
    42\jmuduo\examples\filetransfer\download2.cc
    examples/filetransfer/download3.cc
  • eg测试:客户端程序
    43\jmuduo\tests\Filetransfer_test.cc
    43\jmuduo\tests\CMakeLists.txt
  • 测试:服务端
  • (P43)muduo库使用例子(二):文件传输_客户端

  • 客户端
  • (P43)muduo库使用例子(二):文件传输_服务端_02

  • 启动了8个TcpClient下载了8个文件
  • (P43)muduo库使用例子(二):文件传输_文件传输_03

  • 测试:启动服务端
  • (P43)muduo库使用例子(二):文件传输_服务端_04

  • 启动客户端
  • (P43)muduo库使用例子(二):文件传输_文件传输_05

  • 客户端修改的代码如下:
g_loop->quit();//会使得主线程的loop.loop();跳出来,使得程序结束
// usleep(20000);注释掉

可能会造成以下结果

quit,之后主线程退出了,但是2个IO线程可能还没有结束,所以这边的线程安全性还有待提高,usleep(20000);之后,这个问题就不会触发了

EventLoop 0x8B62730的创建是在11051线程,但是threadId_=73。

当前只有11050,11052,11051这三个线程,ThreadId_=73说明EventLoop可能被销毁了一部分了出现的问题。

(P43)muduo库使用例子(二):文件传输_文件传输_06