socket的send函数问题!

kingwei1977 2005-06-29 05:39:11
socket的send函数,发送的数据最大多少呢?好象我发的数据太大后,以后的调用都会失败!
...全文
98 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
beyondtkl 2005-06-30
  • 打赏
  • 举报
回复
应该要看你的协议的吧 不同的协议对数据包的大小(最大)有不同的限制的..

8K 应该是需要分两次发了.
kingwei1977 2005-06-30
  • 打赏
  • 举报
回复
谢谢:chwdong(chwdong)
kingwei1977 2005-06-30
  • 打赏
  • 举报
回复
如果每次发送的数据大小超过了8K呢?是不是必须要分多次来发啊?
xinqingbucuo 2005-06-30
  • 打赏
  • 举报
回复
大致分一下
chwdong 2005-06-30
  • 打赏
  • 举报
回复
我有自己做的例子,比较粗糙,但好用,要的话给我留言
chwdong 2005-06-30
  • 打赏
  • 举报
回复
用内存流stream读取文件,通过数组sendbuf分多次读取文件,数组的大小不超过8K,并分多次发送
chwdong 2005-06-30
  • 打赏
  • 举报
回复
var
sendsize: integer;
sendbuf: array[0..SendBufSize - 1] of char;
i:integer;
begin
i:=0;
while LeftSize>0 do
begin
if LeftSize >= SendBufSize then
sendsize := SendBufSize
else
sendsize := LeftSize;
i:=i+1;
Stream.Read(sendbuf, sendsize);
LeftSize := LeftSize - sendsize;
Sleep(TimeWaite);
ServerSocket.Socket.Connections[0].SendBuf(sendbuf, sendsize);
Memo_log.Lines.Add('Send-'+inttostr(i)+'-'+IntToStr(sendsize));
end;
yifeiming 2005-06-30
  • 打赏
  • 举报
回复
UP!!!!!!!!!!!!!

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧