Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C++ socket library

[es] :: C/C++ programiranje :: C++ socket library

[ Pregleda: 2881 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.adsl.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon C++ socket library15.11.2006. u 19:10 - pre 181 meseci
Znate li kakvu dobru free C++ socket biblioteku?

Treba mi za maturalni rad (igra) socket koji makar radi samo sa UDP-om.
Ne da mi se radit sa winsockom jer je glup i kompliciran sa svim onim glupostima oko byte ordera i sl.

Nije mi fokus na prijenosu podatak pa se zelim sta brze rijesiti tog dijela.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4889
89.216.236.*

Jabber: xfiles@elitesecurity.org


+633 Profil

icon Re: C++ socket library15.11.2006. u 19:31 - pre 181 meseci
Ja koristim besplatni Indy set komponenti:
http://www.indyproject.org/
... koji se može koristiti uz puno okruženja.

Imaju i "jak" NNTP forum:
news.atozedsoftware.com


Evo ti jedan primer koji sam ranije sklepao, kada KLIJENT pita SERVER koliko
je sati i od njega dobije odgovor (tek da osetis princip):

Ima i attachment.

BCB verzija:

--- KLIJENT ---
Code:

#include <vcl.h>
#pragma hdrstop

#include "main.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TIndyClientForm *IndyClientForm;
__fastcall TIndyClientForm::TIndyClientForm(TComponent* Owner)
        : TForm(Owner)
{
}
void __fastcall TIndyClientForm::AskButtonClick(TObject *Sender)
{
   AskButton->Enabled = false;

   try
   {
      // CONNECTING
      IdTCPClient->Connect();

      // PREPARING REQUEST
      AnsiString REQUEST = "Can you please tell me what's the time?";
      Memo->Lines->Add( REQUEST + " (prepared)" );

      // SENDING TASKS
      IdTCPClient->WriteInteger( REQUEST.Length() );
      IdTCPClient->Write( REQUEST );
      Memo->Lines->Add( REQUEST + " (sent)" );

      // RECEIVING TASKS
      int BytesToRead = IdTCPClient->ReadInteger();
      AnsiString RESPONSE = IdTCPClient->ReadString( BytesToRead );
      Memo->Lines->Add( RESPONSE );
   }
   __finally
   {
      IdTCPClient->Disconnect();
      AskButton->Enabled = true;
   }
}
void __fastcall TIndyClientForm::IdTCPClientStatus(TObject *axSender,
      const TIdStatus axStatus, const AnsiString asStatusText)
{
   Caption = asStatusText;
}


--- SERVER ---
Code:

#include <vcl.h>
#pragma hdrstop

#include "main.h"
#include <StrUtils.Hpp>
#pragma package(smart_init)
#pragma resource "*.dfm"
TIndyServerForm *IndyServerForm;
__fastcall TIndyServerForm::TIndyServerForm(TComponent* Owner)
        : TForm(Owner)
{
}
void __fastcall TIndyServerForm::IdTCPServerExecute(TIdPeerThread *AThread)
{
   // RECEIVING TASKS ...
   int BytesToRead = AThread->Connection->ReadInteger();
   AnsiString REQUEST = AThread->Connection->ReadString( BytesToRead );
   Memo->Lines->Add( REQUEST + " (received)" );

   // PROCESSING & PREPARING ANSWER TASKS ...
   AnsiString RESPONSE = FormatDateTime( "hh:mm AM/PM", Now() );
   Memo->Lines->Add( RESPONSE + " (prepared)" );

   // SENDING TASKS ...
   AThread->Connection->WriteInteger( RESPONSE.Length() );
   AThread->Connection->Write( RESPONSE );
   Memo->Lines->Add( RESPONSE + " (sent)" );
}
void __fastcall TIndyServerForm::IdTCPServerStatus(TObject *axSender,
      const TIdStatus axStatus, const AnsiString asStatusText)
{
   Caption = asStatusText;
}


Prikačeni fajlovi
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.adsl.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: C++ socket library15.11.2006. u 20:16 - pre 181 meseci
Pre kompleksno mi je ovo. Treba mi nesto lagano i jednostavno.
Mozda wraper za winsock?
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.routotelecom.com.



+1 Profil

icon Re: C++ socket library16.11.2006. u 08:34 - pre 181 meseci
Pogledaj Poco na www.appinf.com, besplatna je, radi za Windows i Linux. Iako je velika, mozzesh da koristish samo shto ti treba. Dokumentacija je dobra kao i primeri, vidim da su otvorili i forum.
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.adsl.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: C++ socket library17.11.2006. u 20:56 - pre 181 meseci
Poko je odlican i jednostavan, podsjeca na .NET.

Nego, jeste li vi imali problema sa buildanjem biblioteke?
Pokusao sa po ovim uputama http://www.appinf.com/poco/wiki/tiki...stStepsWindows i nije uspjelo.
Zatim sam pokusao sam buildati solutione i to takodjer nije urodilo plodom.
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.routotelecom.com.



+1 Profil

icon Re: C++ socket library20.11.2006. u 08:21 - pre 181 meseci
Ne znam za Windows, koristim Linux i instalacija sa novijim GCC-om prolazi.
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.adsl.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: C++ socket library20.11.2006. u 09:22 - pre 181 meseci
Poko je stvarno lijepa biblioteka, steta sto ne mogu izvesti build.
 
Odgovor na temu

kiklop74
Darko Miletić
Buenos Aires

Član broj: 78422
Poruke: 569
*.fibertel.com.ar.

Sajt: ar.linkedin.com/pub/darko..


+13 Profil

icon Re: C++ socket library20.11.2006. u 12:26 - pre 181 meseci
Trenutno poco ne podrzava nijedan borlandov kompajler. Ono sto jeste podrzano na windowsu je mingw, cygwin, MSVC 7.1 i 8.0. Za borland ne mogu da se koriste oni skriptovi, niti projektni fajlovi za visual studio. Treba napraviti ili posebne makefile skripte ili projektne fajlove.
Tko leti vrijedi
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.adsl.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: C++ socket library20.11.2006. u 21:25 - pre 181 meseci
Pokusaji su bili s VS-om.

Kad pokrenem "build_vs80.bat" u Visual studijevom command prompu onda dobijem nesto slicno "File not found, skiping..." za svaki solution fajl naveden tamo.
Ako pokusam sam iskompajlirati solitione u VS onda imam problem kao ovaj lik ovdje:
http://www.appinf.com/poco/wik...amp;topics_find=&forumId=6
 
Odgovor na temu

[es] :: C/C++ programiranje :: C++ socket library

[ Pregleda: 2881 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.