TCP并发服务器

作业:
1. 多线程中的newfd,能否修改成全局,不行,为什么?
2. 多线程中分支线程的newfd能否不另存,直接用指针间接访问主线程中的newfd,不行,为什么?

答:因为同一进程下的多线程,共享其附属进程的所有资源,当将文件描述符newfd设置为全局变量时,会随着accpet函数生成新的newfd进行更新覆盖原来的newfd,当客户端断开连接时,关闭的为新生成的newfd,导致其他文件描述符未关闭。且因为newfd的更新覆盖,导致通信紊乱,以及导致除新连接的客户端外的其他客户端无法与服务器进行通信。

猜你喜欢

转载自blog.csdn.net/qq_46766479/article/details/132288091