📄 闲谈.txt
字号:
对于大文件此法根本行不通.应该先定义一个文件信息属性结构体,先传此结构体,再在发送端循环读文件,循环传;接收端先接收文件结构体,在循环写文件,文件再大都没问题!
源程序可改为:
// sockRecv.Send(data, myFileLength); //Send the whole thing now
for(int i=0;i<=myFileLength;i+=1024)
sockRecv.Send(data+i,1024); //Send the whole thing now
if(myFileLength%1024!=0)
sockRecv.Send(data+myFileLength-myFileLength%1024,myFileLength%1024);
// sockClient.Receive(data, dataLength); //Get the whole thing
for(int i=0;i<=dataLength;i+=1024)
sockClient.Receive(data+i,1024); //Send the whole thing now
if(dataLength%1024!=0)
sockClient.Receive(data+dataLength-dataLength%1024,dataLength%1024);
即可。
我曾经直接用WINSOCK API还有ReadFile、WriteFile传送过100多M的文件
也用命名管道和ReadFile、WriteFile传送过同样大的文件
都很稳定
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -