【发布时间】:2023-04-11 11:44:01
【问题描述】:
我正在使用 perl 编写基于套接字的应用程序。我发现如果客户端启动两个打印 以如下方式在套接字句柄上:
print $sock "hello kitty";
#do some other stuff
print $sock "hello jack";
服务器端无法接收到“hello kitty”的全部消息。我不确定,但强烈怀疑某处发生了缓冲区覆盖......所以我在这里有两个问题
- 为什么数据会丢失?是不是因为 “print”的 buf 大小有限?
- 如何避免呢?我可以接受其他 打印方式以外的方式
【问题讨论】:
-
您必须向我们展示导致问题的程序,但请忽略不相关的代码。