问题描述
- C++跨平台传输消息,linux用时超长,请教原因
-
做了一个聊天室程序,传递1.5G的文件时,每次传递20K,windows下大概3分钟左右,无压力。但是当把服务器放在linux下,客户端仍然在windows,传递时间变成了18分钟左右。做了一个验证,普通的发短消息,在windows下是0.001秒左右,但是linux传递一次大概平均需要0.006秒左右。 这样大概排除了我传文件有花费时间的问题。 请问下大家是什么原因?我的里面没有进行sleep,短消息也是直接调用发送函数的
解决方案
将文件块弄大一些,看看有没有改善,如果有,那么就是开销的问题。
解决方案二:
还是要先分析时间各个阶段所花费的比例,然后找出最大时间瓶颈等。
解决方案三:
我现在的文件块传输大小就是20K,改到传输30K,还是每次将服务器放在linux下的传输比服务器放在windows下多67倍的时间。
先不看传输文件,只是10几个字节的短消息传输,它也是linux下慢,这个应该不是开销的问题,而是就是linux下发送然后收到回复的时间比较长吧?
时间: 2024-10-30 17:22:54