网络编程学习一:socke编程之阻塞IO服务端和客户端“阻塞”死锁
使用阻塞io简单的实现一个回显功能,结果程序被阻塞了,代码如附录
服务端
Bind
Accept
read
write(回写read的内容)
客户端
connect
write
read(读服务端传回的内容)
当client传送的字节数过大时,客户端和服务端程序同时被阻塞了
分析一下原因:
实际上系统内核有发送缓冲区和接收缓冲区,当使用阻塞io读写的数据超过了缓冲区大小,会导致服务端写满接收缓冲区后,一直阻塞等待客户端读取,然而此时客户端正在等待往服务度端接收缓冲区写。
代码
client.cc
#in
原创
2021-03-11 20:52:28 ·
402 阅读 ·
0 评论