]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - tests/socket++/udp_receiver.cpp
Se agrega diagrama de clases del modelo.
[z.facultad/75.42/plaqui.git] / tests / socket++ / udp_receiver.cpp
1 /* vim: set ts=4 sw=4 :
2  *
3  * Prueba de 'receptor' tipo broadcast con socket++.
4  *
5  * Para compilar:
6  *   g++ -lsocket++ -o udp_receiver udp_receiver.cpp
7  *
8  * Necesita paquetes libsocket++ y libsocket++-dev que se pueden bajar de
9  * http://members.aon.at/hstraub/linux/socket++/
10  *
11  * $Id$
12  * 
13  */
14
15 #include <socket++/sockinet.h>
16 #include <iostream>
17 #include <sstream>
18
19 using namespace std;
20
21 int main(int argc, char* argv[]) {
22         // Necesita argumentos.
23         if (argc != 3) {
24                 cerr << "Faltan argumentos: " << endl;
25                 cerr << "\t" << argv[0] << " host port" << endl;
26                 return 1;
27         }
28
29         // Obtengo puerto.
30         string host = argv[1];
31         unsigned port;
32         {
33                 stringstream str(argv[2]);
34                 str >> port;
35         }
36
37         char buf[4096];
38         isockinet is(sockbuf::sock_dgram);
39
40         is->bind(port);
41         is->recvtimeout(5);
42
43         cout << "Escuchando en " << is->localhost() << ':' << is->localport()
44                 << "." << endl;
45
46         while (is.getline(buf, 4096)) {
47                 cout << buf << endl;
48         }
49
50         return 0;
51 }