今天把测试程序基本完成了,包括服务端和客户端,把流程又在梳理了一遍,现在的流程可以按之前的设想来跑了,测试当中碰到一个问题,就是服务器无法响应,而我是是为imserver类创建了句柄,而且在WSAAsyncSelect中也是监听了这个句柄,卡了一会儿找不到原因,而DELPHI本身SERVERCLIENT控件也是采取同样的模式,他又是怎么实现的呢,于是看VCL,发现了他的WndProc中是这么写的
try
Dispatch(Message);
except
if Assigned(ApplicationHandleException) then
ApplicationHandleException(Self);
end;
而我的WndProc的只有处理,没有这句,也就是没有进行分发。加进来之后,终于可以响应了,但现在还有点问题,是我对TLIST的一些操作,再研究下。