SOCKET问题

malionsw 2003-09-11 01:27:08
请问如何获得socket的错误
即当我的serversocket和clientsocket建立连接以后
当其中的一方断开连接以后
或者当其中一方还没有启动
我如何获得该连接错误?
即在我将其active属性设置为true之前
如何知道其是否启动
或者当我将其active属性设置为true之后,如果发现不能建立连接
如何捕获该错误,并断开连接
谢谢
...全文
32 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
malionsw 2003-09-14
  • 打赏
  • 举报
回复
谢谢boom201(小阿皮)
我自己也刚刚知道可以在这里将它屏蔽掉啊
不过还是谢谢你
非常感谢
为什么我总是问些很无聊的问题?
还以为是大家都不会,原来是都懒得理!
痛苦ing
boom201 2003-09-14
  • 打赏
  • 举报
回复
如果你不想它报错的话,你在onerror事件中把errorcode的值设为0就可以了,有问题在发帖吧。在onerror事件中,加入

if errorevent=eeconnect then
begin
errorcode:=0;

…………//这里可以加入你的对onconnect报错后的处理方法

end;
malionsw 2003-09-14
  • 打赏
  • 举报
回复
自己up
malionsw 2003-09-13
  • 打赏
  • 举报
回复
查询了一堆,就是没有人能够解决
痛苦ing
原来有一大堆的人遇到这种问题
我知道连接失败的错误类型是eeconnect
可是我在SOCKET的出错处理事件中捕获了该错误
接下来还是会抱错
在这里如何进行处理啊?
各位大虾帮帮忙啊~~~~~~~~~~~~~~~~~~~~~~~~~~
急~~~~~~~~~~~~~~~~~~~~~~
malionsw 2003-09-11
  • 打赏
  • 举报
回复
请问zjqyb(风清扬*任它溺水三千,我只取一瓢饮*) 大虾
在delphi中如何使用try...onerror?

apollp(不一定正確)
用try ... except...end好象不能解决我的问题,或者可能是我使用的地方不正确

IORILI(眼镜@_@)
你说的是如何使用Socket连接和断开连接事件,这两个事件是主动发出的,不是异常情况,主要是如何判断连接异常错误

apollp 2003-09-11
  • 打赏
  • 举报
回复
沒有用過,不過:
1.應該有Connected屬性吧?
2.可以用try ... except...end的吧?
IORILI 2003-09-11
  • 打赏
  • 举报
回复
procedure tform1.serverclientconnect(sender:tobject;socket:tcustomwinsocket);
var
strlp,strhost:string;
count:integer;
begin
strlp:=socket.remoteaddress;
strhost:=socket.remotehost;
memo1.lines.add('当前登录用户');
memo1.lines.add(#9'socketid:'+inttostr(socket.sockethandle));
combox1.items.add(inttostr(socket.sockethandle));
memo1.llines.add(#9'ip 地址:'+strlp);
memo1.lines.add(#9'主机名:'+strhost);
count:=server.socket.activeconnections;
statusbar1.panels.items[1].text:='在线用户:'+inttostr(count);
end;

断开:
procedure tform1.serverclientdisconnect(sender:tboject;socket:tcustmwinsocket);
var
count:integer;
idindex:integer;
begin
memo1.lines.add('用户离线');
memo1.lines.add(' socketid:'+inttostr(socket.sockethandle));
idindex:=combox1.indexof(inttostr(socket.sockethandle))
combox1.items.delete(idindex);
count:=server.socket.activeconnextions-1;
statusbar2.panels.items[1].text:='在线用户:'+inttostr(count);
end;
end;
imageonline 2003-09-11
  • 打赏
  • 举报
回复
gz
zjqyb 2003-09-11
  • 打赏
  • 举报
回复
try

onerror

5,386

社区成员

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

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