ClientSocket2.Active:=  false;  
   ClientSocket2.address:=  '192.168.1.173';      
   ClientSocket2.port:=  8888;  
   SendText  :=  FBankno  +  '  ¦'  +  FormatDatetime('yyyy-mm-dd',FStartDate)  +  '  ¦'  +  flag    +  '  ¦'  +  '0000000000';;  
   ClientSocket2.Active:=  True;  
   havesent  :=  ClientSocket2.Socket.SendText(SendText);  
   ClientSocket2.Active:=  False;  
 
在ClientSocket2.Active:=  True;之后,SERVER端显示连接成功,可是为什么总是数据发送不出去,谢谢,sendtext有值.  
     

解决方案 »

  1.   

    你看看SERVERSOCKET的ONCONNECT等事件中,可以收到数据吗?
      

  2.   

    我没有使用tclientsocket组件,是用代码写的。sendtext值为P200000000|2004-10-26|F|0000000000
    ,server端显示连接后,执行sendtext再SHOWMESSAGE havesent的值总为0,怎么回事,帮忙啊!!!!
      

  3.   

    ACTIVE过后有一段连接时间,必须在双方都(特别是CLIENT)响应了ONCONNECT事件后,才可正常发送数据.
      

  4.   

    执行完ClientSocket2.Active:=  True;
    ClientSocket2.Active始终为FALSE,怎么办?
      

  5.   

    在client的ONconnect事件里置标识. 发生此事件代表可以正常发数据了.或者你先做测试:client的ONconnect事件里写send,一定会收到.server那边有个ReadData事件.你捕获一下试试.
    不要用sleep等东西.
      

  6.   

    ONconnect事件的函数原型怎么写,不好意思,我很菜,很请多多帮忙!
      

  7.   

    倒..你用的是D6的Client/Server Scoket组件吧?
    这个事件已经写好了的.在属性页里.直接点它啊..
      

  8.   

    我的这个程序没有FORM,不能用组件,我用直接烤来的TEtlthread.ClientSocket1Connect(Sender: TObject;  Socket: TCustomWinSocket);试过了,也没有效果,我想可能参数不对吧,不知道怎么写。
      

  9.   

    原来如此,你可以试试有没有Connected类似的属性什么的..再看看一下ScktComp里的东东吧.