问题描述
以下是我的client.cpp文件的摘录:
from
我是客户端-服务器编程的新手,而且我对C ++的了解还远远不够。
当我使用上面的代码时,它成功发送了inf,但显然不会一次发送4个字节的数据。
如果我如下所示修改了包含send()的行,而没有进行其他必要的更改,那么我肯定那是不正确的。
//Variables previously declared
char buffer[1024];
char sendbuffer[100];
int sockfd,b;
//Opens specified file
FILE *fp = fopen(argv[3],"rb");
while( (b = fread(sendbuffer,1,sizeof(sendbuffer),fp)) > 0 )
{
send(sockfd,sendbuffer,b,0);
}
调试也很麻烦,因为当我对代码进行更改时,我必须不断模拟客户端与服务器的交互,这需要花费一些时间来建立。
一次发送4个字节的文本文件数据的最有效方法是什么?
还可以有人建议一种用于快速调试客户端-服务器程序的工具或方法吗?
让我知道是否需要更多信息。谢谢
解决方法
好吧,您可以尝试一次发送4个字节,它可能会工作,但是您无法控制流套接字实际发送多少个字节。您必须检查返回值。 我认为您根本不需要调试程序。日志记录更好,因为它不会像调试那样引入时间延迟,并且在网络世界中时间就是金钱。