TClientSocket控件连接问题

lujl1220 2005-12-20 03:07:14
TClientSocket我让它连接服务器端,如果没连接上关闭以后重新连接(用计时器控制),当长时间没有连接上服务器端时会出现Socket缓冲区满的错误,请问怎么清除Socket缓冲区啊??
...全文
189 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunxiaohui 2005-12-22
  • 打赏
  • 举报
回复
应该没有次数限制。
我曾写过一程序,每天通讯7000多次,每30秒3次,程序24小时不停的运行。基本1个月不退出。

程序中是否每次使用clientsocket生成新的对象了,且旧的没有关闭,使连接保持时间过长?

建议检查程序是否在所有的异常判断中均进行了关闭。

另:在以前开发程序时,出现过,在服务器服务异常时,客户端程序循环连接服务器,使服务器缓冲区满的情况,因服务器清理缓冲区有时间控制,如短时间内连接超过一定的此时,可以使服务器缓冲区满的情况,在客户端循环中增加sleep后,可以限制一定时间内连接的数量,解决。
sunxiaohui 2005-12-21
  • 打赏
  • 举报
回复
服务器端缓冲区满,在client端不能清楚,应查找server的问题。
lujl1220 2005-12-21
  • 打赏
  • 举报
回复
to netsys2(来电!):
请问没有触发读事件,怎么读啊??
iec 2005-12-21
  • 打赏
  • 举报
回复
把ClientSocket Close掉
if(ClientSocket->Active)
ClientSocket->Close();
lujl1220 2005-12-21
  • 打赏
  • 举报
回复
代码太多了,我想知道如果客户端连接服务器端失败,我60秒后关闭这个连接并重新打开连接属性,重复次数有上限么?如果连接成功并进行数据传输后会清除缓冲区么?
sunxiaohui 2005-12-21
  • 打赏
  • 举报
回复
估计是Socketclient使用有问题。
可否提供代码?
lujl1220 2005-12-21
  • 打赏
  • 举报
回复
是客户端缓冲区满,不是服务器端。
netsys2 2005-12-20
  • 打赏
  • 举报
回复
可能已经连接上了,读一次数据就可以清除

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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