我为了提高程序的运行效率,把一个单线程SOCKET程序改成多线程。以前在主线程中动态创建的TSERVERSOCKET,服务模式为非阻塞方式,可以正常出发ONCONNECT,ONDISCONNECT,ONCLIENTREAD等事件,可是当改成在子线程创建TSERVERSCOKET时,创建的SERVERSOCKET对象根本无法触发任何事件,不知道是什么原因? 在主线程中根据SOCKETHANDLE创建一个TCUSTOMWINSOCKET对象,再通过它与相应的客户端通讯,运行正常。但移动子线程中处理就一个异常[不能立即完成对于一个非阻塞的SOCKET对象的操作],为什么会这样?
解决方案 »
- Phenix 分布式应用开发平台 for Delphi (源码) 发布
- 求问如何用fastreport实现票据套打
- 救命啊,快来帮帮我
- 怎样让键盘上某个按键被按时执行一个procedure??
- 利用webbrowser编写王爷浏览程序的字体显示问题
- 在ORACLE数据库与delphi中的QUERY中执行多条SQL的问题!!!(在线等待)
- sql 语句 怎么把sql server 2000 数据表中的内容插入到sql server 2008数据表中
- select * from footordermateriel where rtrim(mano)='Ma0001' or (ordno='po02' and ordprodno='aa')
- 关于数据库的安装
- Delphi程序员帮忙
- Twebbrowser的打印怎么写?
- ListView怎么按某一列排序???
这样才是更合理的搭配。