连接ServerSocket时出现缓冲不够怎么办!!!!!!!!!!!!!!

CDMAA 2002-06-22 10:08:36
我用ServerSocket和ClientSocket来写程序,开始我不知道如何判断两端的在线状态,后来有人告诉我方法,但是现在的问题是,当我的服务器失去连系后,我的客户端就必须找到他,但时间一长就不行了,客户端会出现缓冲不够,这是什么原因,怎样解决呀!我用一个Timer来实时连接!
...全文
75 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
ddvboy 2002-07-06
  • 打赏
  • 举报
回复
小杨的方法不错!
yangyugw 2002-07-06
  • 打赏
  • 举报
回复
NETSET是一个我自己定义的函数,用于设置通讯环境,因为我的通讯环境不仅仅又一个SOKCET还有串口所以在NETSET里面运行
对于你的程序你可以用 CLSOCKET.ACTIVE:=TRUE;就可以了我的EMAIL:YANGYUGW@163.NET

你的错误是不是下面的如果是我用我的方法可以
WINDOWS SOCKET ERROR:由于系统缓冲区空间不足或队列一满,不能执行套接字上的操作。(10055),
ON API‘CONNECT",PROCESS STOPPED.USE STEP OR RUN TO CONTINUE.
是这个问题吧,我也遇到过
CDMAA 2002-07-03
  • 打赏
  • 举报
回复
主要是客户端出现问题!
yangyugw 2002-07-03
  • 打赏
  • 举报
回复
procedure Tfmain.CLSocketError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
F_C := False;
ERRORCODE:=0;
end;

procedure Tfmain.CLSocketConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
F_C := TRUE;
end;

procedure Tfmain.Timer1Timer(Sender: TObject);
begin
if (clsocket.Active=false) and (not F_C) then
begin
F_C:=true;
netset;
end;
end;

procedure Tfmain.clsocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
F_C :=False;
end;

以上是我的解决办法,你可以试试。
yangyugw 2002-07-03
  • 打赏
  • 举报
回复
‘WINDOWS SOCKET ERROR:由于系统缓冲区空间不足或队列一满,不能执行套接字上的操作。(10055),
ON API‘CONNECT",PROCESS STOPPED.USE STEP OR RUN TO CONTINUE.
是这个问题吧,我也遇到过
sgrhqfh 2002-07-02
  • 打赏
  • 举报
回复
我也有这样的问题存在,我觉得最好还是用ADOCONNECTION连接,serversocker
太占内存了!!!!!!
luoshumeng 2002-07-02
  • 打赏
  • 举报
回复
UP
CDMAA 2002-07-01
  • 打赏
  • 举报
回复
不是连接多少个出问题,而是当ClientSocket连接不上服务器后,不断的连,大概连了几百次就不行了!
dsdc 2002-06-30
  • 打赏
  • 举报
回复
问一下,你大概是在连接多少个clientSocket之后出现了问题?
还有,谁能把那个TServerSocket中的socketChache说说清楚啊?
sazhufa 2002-06-30
  • 打赏
  • 举报
回复
我在Delphi大富翁的讨论(szf)
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1142464
应该对你有帮助
qiandeng 2002-06-29
  • 打赏
  • 举报
回复
用setsockopt函数设置缓冲
其中socket的句柄参数是serversocker.handle
luoshumeng 2002-06-22
  • 打赏
  • 举报
回复
up
CDMAA 2002-06-22
  • 打赏
  • 举报
回复
1
CDMAA 2002-06-22
  • 打赏
  • 举报
回复
怎么没有人帮我!
CDMAA 2002-06-22
  • 打赏
  • 举报
回复
4
CDMAA 2002-06-22
  • 打赏
  • 举报
回复
3
CDMAA 2002-06-22
  • 打赏
  • 举报
回复
但是我开始连接时,服务器我故意没有开,也出现这样的问题!
Jerry529 2002-06-22
  • 打赏
  • 举报
回复
你必须确定每次两边都是断开的,也就是说客户端掉线后,服务端就把这个
关闭了这个连接的套接字,我想是因为这个问题。简单点,就是你的客户端
掉了,也就是关闭了这个连接,但是服务端没有关闭这个连接。
CDMAA 2002-06-22
  • 打赏
  • 举报
回复
2
CDMAA 2002-06-22
  • 打赏
  • 举报
回复
用open和用active是一样的吧!开始也没有问题,时间一长就不行了,网络编程出现的问题还真多!!!!!
加载更多回复(3)

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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