Socket+Thread:ServerSocket用阻塞方式,ClientSocket用非阻塞方式。。。(对不起,只有85分)(85分)

A

ACE

Unregistered / Unconfirmed
GUEST, unregistred user!
Socket+Thread:ServerSocket用阻塞方式,ClientSocket用非阻塞方式,运行都
正常,
问题是,先结束Server程序,再结束Client程序,一切正常。
先结束Client程序(ClientSocket.Active :=False),Server程序出错:
有两种错误:(随机发生一种)
1。“Read Error 233,管道的另一端无进程”
2。“Read eroor 64 ,指定的网络名不可再用”
请问如何解决?谢谢。
 
捕获这两种异常情况不就行了么?
 
把error设为0就不报了,不过还是应该象pegasus一捕获一下比较好
 
用以下方法解决:
在服务器的线程定义中加入出错处理
Try
.....
except
ClientSocket.Close;
exit;
end;

注意:编译运行和独立运行时的出错信息不一样,请分别观察。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部