]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - tests/socket++/udp_transmiter.cpp
Se termina el manual de usuario del Cliente. Faltan las capturas de pantalla.
[z.facultad/75.42/plaqui.git] / tests / socket++ / udp_transmiter.cpp
1 /* vim: set ts=4 sw=4 :
2  *
3  * Prueba de 'transmisor' tipo broadcast con socket++.
4  *
5  * Para compilar:
6  *   g++ -lsocket++ -o udp_transmiter udp_transmiter.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 // FIXME - no portable.
19 #include <unistd.h>
20
21 using namespace std;
22
23 int main(int argc, char* argv[]) {
24         // Necesita argumentos.
25         if (argc != 3) {
26                 cerr << "Faltan argumentos: " << endl;
27                 cerr << "\t" << argv[0] << " host port" << endl;
28                 return 1;
29         }
30
31         // Obtengo host y puerto.
32         string host = argv[1];
33         unsigned port;
34         {
35                 stringstream str(argv[2]);
36                 str >> port;
37         }
38
39         osockinet os(sockbuf::sock_dgram);
40         os->connect(host.c_str(), port);
41         os->sendtimeout(5);
42
43         cout << "Transmitiendo a " << os->peerhost() << ':' << os->peerport()
44                 << " desde " << os->localhost() << ':' << os->localport() << "."
45                 << endl;
46
47         while (true) {
48                 os << "Hola mundo!" << endl;
49                 sleep(1);
50         }
51
52         return 0;
53 }