QAH*_*QAH 5 c++ sockets buffer
我试图在C++中使用一些套接字网络编程.我正在尝试发送文本"Hello World!" 使用C++ send()函数到服务器.首先,我将缓冲区设置为自"Hello World!"以来的13.一共是12个字符(你必须使它比字符数多一个).如果我发送大约7次,send函数只会将字符发送到服务器.当它最终到达服务器时,它看起来像这样:
"Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!"
现在这是有趣的部分."Hello World!" 如果我将缓冲区大小设置为256(char buffer [256];),则立即发送句子.说到这样的服务器,它显示"Hello World!" 两个字后有一大堆空格.为什么会发生这种情况,如果可能的话,我该如何解决?请告诉我.
谢谢
当您使用缓冲区调用read
(或receive
)从套接字读取时,将返回一个整数值,指定读取的字节数.你应该只从缓冲区中拿走那么多.其余的是无关紧要的:
int count = read(...);
// buffer[0 .. count - 1] contains the appropriate data.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2910 次 |
最近记录: |