]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - tests/skstream/broadcaster_udp.cpp
El diagrama de clases del modelo esta listo para salir del horno
[z.facultad/75.42/plaqui.git] / tests / skstream / broadcaster_udp.cpp
1 /* vim: set ts=4 sw=4 :
2  *
3  * Prueba de 'servidor' echo tipo broadcast con skstream.
4  *
5  * Para compilar:
6  *   g++ `skstream-config --cflags --libs` -o servidor servidor.cpp
7  *
8  * Necesita paquete libskstream-0.2 y libskstream-dev
9  *
10  * $Id$
11  * 
12  */
13
14 #include <skstream/skstream.h>
15 #include <iostream>
16 #include <sstream>
17 // FIXME
18 #include <unistd.h>
19
20 using namespace std;
21
22 int main(int argc, char* argv[]) {
23         // Necesita argumentos.
24         if (argc < 3 || argc > 4) {
25                 cerr << "Faltan argumentos: " << endl;
26                 cerr << "\t" << argv[0] << " host port" << endl;
27                 cerr << endl;
28                 cerr << "Por la entrada estándar se ingresan los datos a mandar "
29                         "al servidor." << endl;
30                 cerr << "Cuando se escribe toda la petición, con Ctrl-D envía los "
31                         "datos." << endl;
32                 return 1;
33         }
34
35         // Obtengo host y puerto.
36         string host = argv[1];
37         unsigned port;
38         {
39                 stringstream str(argv[2]);
40                 str >> port;
41         }
42
43         // Socket TCP.
44         udp_socket_stream socket;
45         if (!socket.setTarget(host, port)) {
46                 cerr << "No se pudo configurar el destino (" << host << ":" << port
47                         << ")." << ")." << endl;
48                 return 2;
49         }
50
51         // Envio pedido.
52         while (true) {
53                 socket << "hola mundo." << endl;
54                 sleep(1);
55         }
56
57         return 0;
58 }