/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
TCP programmering
Fra : Mikkel Bundgaard


Dato : 27-02-05 16:23

På et tidspunkt havde jeg et simpelt eksempel til Unix i hvordan man
programmerede en "server" som lyttede på en bestemt port og sendte data
tilbage hvis man skrev til den.

Er der nogen som har et simpelt eksempel eller hvor jeg kan søge
information omkring det ? Gerne eksempler som virker i windows og linux.

Skal kunne compilere med GCC.

/Mikkel

 
 
Michael Rasmussen (27-02-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 27-02-05 17:36

On Sun, 27 Feb 2005 16:22:38 +0100, Mikkel Bundgaard wrote:

> Er der nogen som har et simpelt eksempel eller hvor jeg kan søge
> information omkring det ? Gerne eksempler som virker i windows og linux.
>
Denne guide er en af de bedre:
http://www.ecst.csuchico.edu/~beej/guide/net/

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Mogens Hansen (27-02-2005)
Kommentar
Fra : Mogens Hansen


Dato : 27-02-05 18:33


"Mikkel Bundgaard" <mikkel@notfound.invalid> wrote in message
news:4221e5bc$0$944$edfadb0f@dread16.news.tele.dk...
> På et tidspunkt havde jeg et simpelt eksempel til Unix i hvordan man
> programmerede en "server" som lyttede på en bestemt port og sendte data
> tilbage hvis man skrev til den.
>
> Er der nogen som har et simpelt eksempel eller hvor jeg kan søge
> information omkring det ? Gerne eksempler som virker i windows og linux.

Tag et kig på ACE (http://www.cs.wustl.edu/~schmidt/ACE.html).
Det er et bibliotek der indeholder en masse klasser til netværks- og
multitråds-programmering, som desuden implementerer en række nyttige
patterns.
Det oversætter på en masse platforme med en masse compilere.

>
> Skal kunne compilere med GCC.

Det er een af de understøttede compilere.

Venlig hilsen

Mogens Hansen



Michael Rasmussen (27-02-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 27-02-05 19:04

On Sun, 27 Feb 2005 18:33:21 +0100, Mogens Hansen wrote:

>
> Tag et kig på ACE (http://www.cs.wustl.edu/~schmidt/ACE.html). Det er et
> bibliotek der indeholder en masse klasser til netværks- og
ACE er efter min bedste overbevisning overkill, hvis man blot skal skrive
simple socket-applikationer, deres CORBA implementering er til gengæld
fremragende.

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Mogens Hansen (27-02-2005)
Kommentar
Fra : Mogens Hansen


Dato : 27-02-05 22:04


"Michael Rasmussen" <mir@miras.org> wrote in message
news:pan.2005.02.27.18.03.46.415485@miras.org...
> On Sun, 27 Feb 2005 18:33:21 +0100, Mogens Hansen wrote:
>
>>
>> Tag et kig på ACE (http://www.cs.wustl.edu/~schmidt/ACE.html). Det er et
>> bibliotek der indeholder en masse klasser til netværks- og
> ACE er efter min bedste overbevisning overkill, hvis man blot skal skrive
> simple socket-applikationer,

I forhold til hvad, givet at det gerne både må køre på Linux og Windows ?

ACE kan hentes på et par minutter med en almindelig ADSL forbindelse.
Det tager ca. 5 minutter at builde.

Og et program der henter lidt på www.dr.dk, kan se sådan ud:

#include <ace/INET_Addr.h>
#include <ace/SOCK_Connector.h>
#include <ace/SOCK_Stream.h>
#include <iostream>
#include <algorithm>
#include <iterator>
#include <cstdlib>
#include <cstring>

int main(int /*argc*/, char* /*argv*/[])
{
using namespace std;

ACE_INET_Addr www_dr_dk_adr(80, "www.dr.dk");
ACE_SOCK_Stream peer;
ACE_SOCK_Connector connector;

if(connector.connect(peer, www_dr_dk_adr) == -1)
return EXIT_FAILURE;

iovec iov[3];
iov[0].iov_base = "GET ";
iov[1].iov_base = "www.dr.dk";
iov[2].iov_base = " HTTP/1.0\r\n\r\n";
for(size_t i = 0; sizeof(iov)/sizeof(iov[0]) != i; ++i)
iov[i].iov_len = strlen(iov[i].iov_base);

if(peer.sendv_n(iov, sizeof(iov)/sizeof(iov[0])) == -1)
return EXIT_FAILURE;

char buffer[1024];
for(size_t n; (n = peer.recv(buffer, sizeof(buffer))) > 0; ) {
copy(buffer, buffer + n, ostream_iterator<char>(cout));
}

return peer.close();
}


> deres CORBA implementering er til gengæld
> fremragende.

Ja, den er udemærket - har brugt den i årevis.

Venlig hilsen

Mogens Hansen



Benny Andersen (28-02-2005)
Kommentar
Fra : Benny Andersen


Dato : 28-02-05 15:55

On Sun, 27 Feb 2005 16:22:38 +0100, Mikkel Bundgaard
<mikkel@notfound.invalid> wrote:

>På et tidspunkt havde jeg et simpelt eksempel til Unix i hvordan man
>programmerede en "server" som lyttede på en bestemt port og sendte data
>tilbage hvis man skrev til den.
>
>Er der nogen som har et simpelt eksempel eller hvor jeg kan søge
>information omkring det ? Gerne eksempler som virker i windows og linux.
>
>Skal kunne compilere med GCC.
>
>/Mikkel
Eksempler fra bogen: 'Computer networks and internets' er lette
http://www.netbook.cs.purdue.edu

Mikkel Bundgaard (28-02-2005)
Kommentar
Fra : Mikkel Bundgaard


Dato : 28-02-05 16:39

Mikkel Bundgaard wrote:
> På et tidspunkt havde jeg et simpelt eksempel til Unix i hvordan man
> programmerede en "server" som lyttede på en bestemt port og sendte data
> tilbage hvis man skrev til den.
>
> Er der nogen som har et simpelt eksempel eller hvor jeg kan søge
> information omkring det ? Gerne eksempler som virker i windows og linux.
>
> Skal kunne compilere med GCC.
>

Det prøver jeg at kigge på. Takker for inputsnene :)

Hilsen Mikkel

Thorsten Ottosen (28-02-2005)
Kommentar
Fra : Thorsten Ottosen


Dato : 28-02-05 17:48

| Er der nogen som har et simpelt eksempel eller hvor jeg kan søge
| information omkring det ? Gerne eksempler som virker i windows og linux.
|
| Skal kunne compilere med GCC.

Måske er PTypes noget så:

http://www.melikyan.com/ptypes/doc/inet.html

-Thorsten



--- (04-03-2005)
Kommentar
Fra : ---


Dato : 04-03-05 16:27

> Er der nogen som har et simpelt eksempel eller hvor jeg kan søge
> information omkring det ? Gerne eksempler som virker i windows og linux.
>
> Skal kunne compilere med GCC.


Jeg har set, at du har fået en masse svar - men jeg synes lige jeg vil
tilføje at commonc++ også er et glimragende portabelt alternativ.



Søg
Reklame
Statistik
Spørgsmål : 177511
Tips : 31968
Nyheder : 719565
Indlæg : 6408590
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste