На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> UDPsocket передача и прием пакетов , Программа виснит когда вызываю Receiveln
    Если кто то может скиньте пожалуйста простейший пример роботы udp сокетов в builder 6.

    Вот код сервера, зависает на приеме.
    ExpandedWrap disabled
      //---------------------------------------------------------------------------
       
      #include <vcl.h>
      #pragma hdrstop
       
      #include "Unit1.h"
      //---------------------------------------------------------------------------
      #pragma package(smart_init)
      #pragma resource "*.dfm"
      TForm1 *Form1;
      //---------------------------------------------------------------------------
      __fastcall TForm1::TForm1(TComponent* Owner)
              : TForm(Owner)
      {
      }
      //---------------------------------------------------------------------------
       
      void __fastcall TForm1::btn2Click(TObject *Sender)
      {
       
      udpsckt1->Active=True;
      udpsckt2->Active=True;
       
      udpsckt2->Open();
      udpsckt1->Open();
        /*
      udpsckt1->Connect();
      udpsckt2->Connect();
          */
      String s,b;
       
       
      udpsckt1->Sendln("Text");
      s= udpsckt2->Receiveln();
       edt1->Text=s;
      /*
      udpsckt2->Close();
      udpsckt1->Close();
           */
       
       
       
      //udpsckt2->Active=False;
      //udpsckt1->Active=False;
       
       
       
      }
      //---------------------------------------------------------------------------
      void __fastcall TForm1::udpsckt2Receive(TObject *Sender, PChar Buf,
            int &DataLen)
      {
       
      ShowMessage("Send done");
      /*edt1->Text= udpsckt2->Receiveln();
      udpsckt1->Active=False;
      udpsckt2->Active=False;
       */
       
       
      }
      //---------------------------------------------------------------------------
      void __fastcall TForm1::udpsckt2Connect(TObject *Sender)
      {
      ShowMessage("Вторий приконектився ");
      //edt1->Text= udpsckt2->Receiveln();
      //udpsckt2->Sendln("OTVET");
      }
      //---------------------------------------------------------------------------
      void __fastcall TForm1::udpsckt1Send(TObject *Sender, PChar Buf,
            int &DataLen)
      {
      ShowMessage("Socet1 Send text");
       
      }
      //---------------------------------------------------------------------------
       
       
      void __fastcall TForm1::FormCreate(TObject *Sender)
      {
      udpsckt1->LocalHost="127.0.0.1";
      udpsckt1->LocalPort= htons(34100);
      udpsckt1->RemoteHost= "127.0.0.1";
      udpsckt1->RemotePort= htons(34101);
       
      udpsckt2->LocalHost="127.0.0.1";
      udpsckt2->LocalPort= htons(34101);
      udpsckt2->RemoteHost="127.0.0.1";
      udpsckt2->RemotePort=htons(34100);
       
       
       
      edt1->Text= DateTimeToStr(Now());
      }
      //---------------------------------------------------------------------------
       
      void __fastcall TForm1::udpsckt1Connect(TObject *Sender)
      {
      ShowMessage("Первий приконектився ");
       
      }
      //---------------------------------------------------------------------------
       
      void __fastcall TForm1::udpsckt1Error(TObject *Sender, int SocketError)
      {
      ShowMessage("ошибка 1 сокет "+ IntToStr(SocketError));
      }
      //---------------------------------------------------------------------------
       
      void __fastcall TForm1::udpsckt2Error(TObject *Sender, int SocketError)
      {
      ShowMessage("ошибка  2 сокет "+ IntToStr(SocketError));
      }
      //---------------------------------------------------------------------------
       
      void __fastcall TForm1::btn1Click(TObject *Sender)
      {
      udpsckt2->Active=True;
      udpsckt1->Active=True;
      }
      //---------------------------------------------------------------------------
      Для VC клиент и сервер UDP:

      Прикреплённый файлПрикреплённый файлudpcl.zip (35,04 Кбайт, скачиваний: 618)
      Прикреплённый файлПрикреплённый файлudpsv.zip (36,51 Кбайт, скачиваний: 508)
      Сообщение отредактировано: ЫукпШ -
      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0186 ]   [ 18 queries used ]   [ Generated: 20.05.24, 07:15 GMT ]