K
kingfisher
Unregistered / Unconfirmed
GUEST, unregistred user!
prnclientsocket:=TClientsocket.create(self);
prnclientsocket.Port:=1024;
prnclientsocket.Host:='pc';
prnclientsocket.Open;
prnclientsocket.Socket.SendText('asd');
这段代码放在同一过程时服务器端只接受到客户方的连接,没有接受到数据
(字符串'asd')
在OPEN 与SENDTEXT 之间延时也不行
而前四行代码与最后一行代码分别放在两个BUTTONCLICK事件过程里则可以正确接受.
分析的原因是因为open需要时间,而我使用的是非阻塞情况,
但是我检查active属性 若为否定那么就延时
再检查,如此循环 直至属性为真
可实际运行时发现死循环了 这样做不行
请问非阻塞的情况下怎么处理。
若为阻塞情况就没有这个问题了
但是阻塞时 若服务器方没有启动监听,那么就出错,
而且出错不跳转到onerror事件处理过程中
请问阻塞情况下怎么处理出错情况
还有若客户方的SOCKET发送接受是放在一个单独的线程内的,
那么事件处理过程例如onconnect跳转进入
这是因为事件处理需要消息触发,而线程不能接受消息的原因吗
我的这个概念是否对?请教
prnclientsocket.Port:=1024;
prnclientsocket.Host:='pc';
prnclientsocket.Open;
prnclientsocket.Socket.SendText('asd');
这段代码放在同一过程时服务器端只接受到客户方的连接,没有接受到数据
(字符串'asd')
在OPEN 与SENDTEXT 之间延时也不行
而前四行代码与最后一行代码分别放在两个BUTTONCLICK事件过程里则可以正确接受.
分析的原因是因为open需要时间,而我使用的是非阻塞情况,
但是我检查active属性 若为否定那么就延时
再检查,如此循环 直至属性为真
可实际运行时发现死循环了 这样做不行
请问非阻塞的情况下怎么处理。
若为阻塞情况就没有这个问题了
但是阻塞时 若服务器方没有启动监听,那么就出错,
而且出错不跳转到onerror事件处理过程中
请问阻塞情况下怎么处理出错情况
还有若客户方的SOCKET发送接受是放在一个单独的线程内的,
那么事件处理过程例如onconnect跳转进入
这是因为事件处理需要消息触发,而线程不能接受消息的原因吗
我的这个概念是否对?请教