查询了N久资料和Delphi的帮助,亦不得其解,望各位达人赐教:ServerType 使用 stNonBlocking, 程序是这样处理的,当接收到客户端发来的数据后, 把数据转化为我定义的格式后,加入TList列表. 然后用几个线程处理.1. 如果不同步线程, 多个线程调用同一个TServerSocket的SendBuf方法会有哪些问题?2.当OnClientError事件触发时,需不需要Sokect.Close,如果不关闭发生Error的Socket连接,而仅是ErrorCode=0, 这个Socket连接还能否正常使用?
解决方案 »
- delphi DBISAM问题!!
- 要过年了,给XDJMs散点分,祝大家奖金多多
- 請教:在ie中可以顯示的網頁,在webbrowser中確無法顯示,怎麼回事?在線等!給100分
- 请教sqlserver2000内存释放的问题
- 在websnap技术中,我用LoginFormAdapter1.NextPage转到另一个网页的同时以新的IE浏览器窗口打开,最好不用脚本语言,该如何制作呢?
- 请问installshield express for delphi6.0 在哪里下??
- SPCOMM控件
- 在ADOSTOREDPROC中切换两个SQL储存过程的小问题.
- Delphi如何向C++那样定义【引用】,【宏定义】
- 怎样用Delphi 7 把Delphi完整源代码做成软件?
- 大家说CSDN的星星是怎么评的呀?长期泡在CSDN上的高手们能说说吗?
- 我想有delphi开发个最简单的网页浏览器,大家能提供写资料吗?
然后,ServerSocket 检查列表,有则发送数据当然,最好还是做同步处理,我上面说的,也要2.当OnClientError事件触发时
可能要检查是什么错误再相应处理
=================================================
在线程中,你加入VCL组件(TList)的话,就得进行相应处理。1. 如果不同步线程, 多个线程调用同一个TServerSocket的SendBuf方法会有哪些问题?
============================================================================
Buffer的长度你要控制,多个线程调用的话,你必须保证你每次Buffer里面的内容被该线程接收完,才容许下一线程操作,否则,你的传输会出错。2.当OnClientError事件触发时,需不需要Sokect.Close,如果不关闭发生Error的Socket连接,而仅是ErrorCode=0, 这个Socket连接还能否正常使用?
=========================
用ERRORCODE=0,这个连接还可以使用,其实就是将错误信息返回正常状态。