关于ServerSocket 和ClientSocket通信的问题

Jinglihui 2003-12-04 07:32:35
关于socket 通信的问题向你请教:
有两台机器用ServerSocket和ClientSocket进行通信
ClientSocket用
for(int i=0;i<Memo1->Lines->Count;i++)
{
ClientSocket->Socket->SendBuf(Memo1->Lines->Strings[i].c_str(),Memo1->Lines->Strings[i].Length());

}
ClientSocket->Close(); //在这里必须关掉它
方法向服务器端发送Memo1的内容,奇怪的是为什么SocketServer只能收到前几行呢?
这是什么原因造成的?如果解决?
...全文
94 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fatwave 2003-12-04
  • 打赏
  • 举报
回复
for(int i=0;i<Memo1->Lines->Count;i++)
{
ClientSocket->Socket->SendBuf(Memo1->Lines->Strings[i].c_str(),Memo1->Lines->Strings[i].Length());
Application->ProcessMessages();
Sleep(10);

}
Sleep(100);
ClientSocket->Close(); //在这里必须关掉它
加些延时OK了!
constantine 2003-12-04
  • 打赏
  • 举报
回复

netsys2 2003-12-04
  • 打赏
  • 举报
回复
ClientSocket->Close(); //在这里必须关掉它

错误!对方还没有接收完你就拆线了。

SendBuf并不是等发完了才返回,他只是吧数据交给send API函数。

记住:在通信系统设计中,必须要让接受方拆线。
pzoon 2003-12-04
  • 打赏
  • 举报
回复
UP

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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