当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: 独立建立一个环境不容易呀 ......
    摘要: 听说用集线器每人只有0.5m的带宽,而用交换机每人有2m的带宽,到底是不是这样? ......


idudpserver Onread 为什么不触发

client端连接按钮事件:  
  void   __fastcall   TForm2::ConnectClick(TObject   *Sender)  
  {  
   
    Clients   *   Clt=new   Clients;               //clients   是结构体,记录客户端信息  
    strcpy(Clt->Login_sign,"LOGIN");  
    strcpy(Clt->Name,Editname->Text.c_str());  
    strcpy(Clt->Ip,GStack->LocalAddress.c_str());  
    Client->Port=StrToInt(Edit2->Text);  
    Client->Binding->IP="0.0.0.0";  
    Client->Binding->Port=StrToInt(Edit2->Text);  
    Client->Binding->Bind();  
    Client->Active=true;  
    Client->SendBuffer(Clt,Cltlength);         发送客户信息  
      delete   Clt;  
  }  
  client端发消息按钮  
  void   __fastcall   TForm2::SendClick(TObject   *Sender)  
  {  
   
    Client->Send(Edit1->Text);//向server   发消息  
  }  
   
  server   端onread事件:  
  void   __fastcall   TForm1::ServerUDPRead(TObject   *Sender,   TStream   *AData,  
              TIdSocketHandle   *ABinding)  
  {  
   
    Clients   *   Clt=new   Clients;           //一下两行如果是登录,即第一次触发onread事件,接收客户信息,    
    AData->Read(Clt,AData->Size);      
   
        char   Msg[1024];                             //如果向server发送消息,记录在Msg   里    
    AData->Read(Msg,AData->Size);  
   
  if(String(Clt->Login_sign).SubString(1,5)=="LOGIN")   //如果是登录    
    {  
      String   Astring="welcome   you:";  
      Listclient->Items->Add(String(Clt->Name));  
      Astring+=String(Clt->Name);  
      Server->Send(ABinding->PeerIP,ABinding->PeerPort,Astring);  
      Server->Broadcast(String(Clt->Name)+"enter   into   the   chart   room",8090);  
   
   
    }  
    else                                                                             //不是登录,是发消息  
      Memo1->Lines->Add(String(Msg));  
  }  
   
  执行程序,在client端发现点击登录按钮,onread事件触发正常,但再点击发送消息按钮,server端接收不到任何信息,好像onread事件没有触发.这时何故?如果把client端登录事件去掉,执行client->Active=true,然后执行发送信息事件则,server端onerad事件正常.百思不得其解啊!  
 

NO.1   作者: rcrain


    摘要: n type source ip port source mac destination ip port destionation mac data length 1 tcp 192.168.1.177 139 000d87b6752a 192.168.1.16 1037 000aebf0f789 1 2 tcp 192.168.1.16 1037 000aebf0f789 192.168......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE