两个SOCKET连接,A:非阻塞发一直发,B:为阻塞接收。
我不太清楚,对A的应答B是否能收到。如果能,我想把A写到主线各,B写到另一个线程中,谁能给一个简单的小例子呢?
我不太清楚,对A的应答B是否能收到。如果能,我想把A写到主线各,B写到另一个线程中,谁能给一个简单的小例子呢?
解决方案 »
- 关于LISTVIEW操作数据库问题!!!急急急,在线等!!!
- 急死人了,我百思不得其解!!!望大虾 进入开解。
- 执行存储过程时进度条怎么不动?
- 请问:用Delphi开发可解决各种复杂算法吗?
- 如何优化,使程序执行时间减小
- 关于DELPHI
- delphi中双击列表显示Word或Excel的方法
- 请大家帮忙:delphi/web service
- 三层中参数传递报parment对象被不正确的定义,提供了不完整或不一致的信息,请脚高人是怎么回事
- 欢迎讨论:使标准控件平面化
- 有没有delphi下用原始socket编的嗅探器的源代码?
- 我用虚拟驱动器的方法在一台电脑上使用另一台电脑上的ACCESS数据库,但在使用中如果网络断了,数据库也破坏了不能用了,怎办?
想用clientsocket与serversocket控件实现一个发,一个收(用两个clientsocket不能实现吧)。发一个线程,收一个线程。发(非阻塞),收(不知阻塞与线程阻塞有什么不同)(1接收发送信息的返回结果2信息)。把发送出的信息保存到一个记录数组中,这个数组是定长的。当这个数组滿时,不再发送,等待。根据发送信息的返回结果做不同处理。如:成功则从数组中删除;不成功重发,记录中发送次数加一,当这个发送次数达到一定值时从数组中删除。
现在主要的问题是:1、serversocket监听哪个端口才能收到发回的信息状态呢?2、发的那个线程如何知道数组不滿和空出的位置,可以继续发送并填充记录至不滿处。我想到的办法是实时扫这个数组。也许可以当从数组中删除记录时,可以有个什么事件直接驱动。但这可怎么实现呢?不知还有其它什么更好的办法没?