在vc中,通过CAsyncSocket派生,每次发送数据量较少,发送端和接收端send和receive的长度参数设置成相等。可以实现每次传送数据的完整性。
解决方案 »
- dxDBGrid控件
- 我用indy的idhttp的Get下载一个韩国网站的源码,为什么里面的韩文变乱码了呢?
- cxGrid按过滤功能的时候报错!!!
- 高分求助:控件永久化问题(代码创建控件保存恢复)
- 如何读写INI 文件
- 如何使TDateTimePicke只显示‘年’和‘月’,而不显示‘日’阿???
- 公路段一般都有什么软件?继续灌水~继续灌水~继续灌水~继续灌水~继续灌水~继续灌水~继续灌水~继续灌水~继续灌水~继续灌水~继续
- 哪里有大富翁离線BBS(delphibbs.chm文件)下載?怎麼從WWW.DELPHIBBS.COM上下載281M的大富翁离線BBS不能使用!!!
- treeview 问题
- 本人的机器出了一些怪问题!可否帮我出出主意?
- 在制作Delphi安装盘时,如何配置BDE?
- 求救,请各位大侠帮帮忙,这里先谢谢大家了
在这里每次发送/接收的大小都无所谓,windows并不一定是在你send()以后立刻发送,
详细的见windsock2的文档。C语言实例:只写了发送端的,接收端类似
send side:
....connected
int length;//length of file
char *buffer;//contain buffer of file ,size length
unsigned int nSent=0;
int nSend;
int szSend;
while(nSent<length){
szSend=length-nSend>1024? 1024:length-nSend;
nSend=send(sock,buffer,szSend,0);
if(nSend<0){
//error code here;
}
buffer+=nSend;
nSent+=nSend;
}