关于SERVERSOCKET的ONCLIENTREAD(50分)

  • 主题发起人 主题发起人 bcahz
  • 开始时间 开始时间
B

bcahz

Unregistered / Unconfirmed
GUEST, unregistred user!
问题:我SERVERSOCKET的ONCLIENTREAD事件没用,不处理CLIENTSERVER的发送的数据,根本就运行不到这里,请教,谢谢

gyx999

级别: 散兵
来自:fujian
OICQ:
积分:141
专家分:66
总排名:175
最后现身:2001-4-11 16:35:18(登陆18次)
发表于: 2001-4-11 16:45:32


--------------------------------------------------------------------------------
我也有过类似问题,但好象是对CLIENTSERVER的发送的第一次数据。
对CLIENTSERVER的发送的第二次以后的数据,ONCLIENTREAD事件能用。


bcahz

级别: 散兵
来自:nc
OICQ:
积分:50
专家分:10
总排名:470
最后现身:2001-4-11 16:56:45(登陆43次)
发表于: 2001-4-11 16:59:13


--------------------------------------------------------------------------------
sorry,应该是:
我SERVERSOCKET的ONCLIENTREAD事件没用,不处理CLIENTSOCKET的发送的数据,根本就运行不到这里,请教,谢谢

yanyi

级别: 中尉
来自:不知道
OICQ:
积分:339
专家分:2674
总排名:2
最后现身:2001-4-11 16:53:26(登陆149次)
发表于: 2001-4-11 17:03:34


--------------------------------------------------------------------------------
怎么没用,我的用得挺好:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
XieShiXinxi: string;
begin
// read from the client
XieShiXinxi := Socket.ReceiveText;
end;


bcahz

级别: 散兵
来自:nc
OICQ:
积分:50
专家分:10
总排名:470
最后现身:2001-4-11 16:56:45(登陆43次)
发表于: 2001-4-11 17:17:28


--------------------------------------------------------------------------------
大哥,就是没用:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
AcceptString:string;
begin
showmessage('receiveing');
AcceptString:=ServerSocket1.socket.receivetext;
showmessage(AcceptString);
ServerSocket1.socket.sendText('FIRST');
end;
连SHOWMESSAGE都没出来!

gyx999

级别: 散兵
来自:fujian
OICQ:
积分:141
专家分:66
总排名:175
最后现身:2001-4-11 16:35:18(登陆18次)
发表于: 2001-4-11 17:24:06


--------------------------------------------------------------------------------
clientsocket1 有先SendText 吗?

bcahz

级别: 散兵
来自:nc
OICQ:
积分:50
专家分:10
总排名:470
最后现身:2001-4-11 16:56:45(登陆43次)
发表于: 2001-4-11 17:25:47


--------------------------------------------------------------------------------
根本就不执行ONCLIENTREAD,奇怪的是在处理完ONACCEPT后,就直接到ONCLIENTWRITE中了!

yanyi

级别: 中尉
来自:不知道
OICQ:
积分:339
专家分:2674
总排名:2
最后现身:2001-4-11 16:53:26(登陆149次)
发表于: 2001-4-11 17:28:02


--------------------------------------------------------------------------------
这段程序是不运行的呀,那是要到客户机向服务器送出信息后它才运行。

bcahz

级别: 散兵
来自:nc
OICQ:
积分:50
专家分:10
总排名:470
最后现身:2001-4-11 16:56:45(登陆43次)
发表于: 2001-4-11 17:43:20


--------------------------------------------------------------------------------
是先在CLIENTSOCKET端SENDTEXT的呀!我的系统是NT4.0
 
等待回答.
 
再次请教
 
onclientread事件是在socket的另一段给serversock发送数据的时候才响应的。
并不是serversock自己做了什么动作触发。
例如你在做smtp时
客户端的socket向服务端的socket发送'USER'+#13+#10 时服务端的socket触发事件onclientread
你在事件中编写socket.SendText('+OK'+#13+#10);客户端的socket响应事件onread
 
我已经找到原因了,但是还是谢谢TERRY_LZS
 
接受答案了.
 
后退
顶部