]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - tests/skstream/broadcaster_udp.cpp
Se hace un primer intento de cliente udp.
[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
18 using namespace std;
19
20 //class test {
21 //      public:
22 //              int i;
23                 //test(void): i(10) {}
24                 //test(int i): i(i) {}
25 //};
26
27 int main(int argc, char* argv[]) {
28         // Necesita argumentos.
29         if (argc < 3 || argc > 4) {
30                 cerr << "Faltan argumentos: " << endl;
31                 cerr << "\t" << argv[0] << " host port" << endl;
32                 cerr << endl;
33                 cerr << "Por la entrada estándar se ingresan los datos a mandar "
34                         "al servidor." << endl;
35                 cerr << "Cuando se escribe toda la petición, con Ctrl-D envía los "
36                         "datos." << endl;
37                 return 1;
38         }
39
40 //test t;
41 //cerr << t.i << endl;
42 //udp_socket_stream s;
43 //s.is_open();
44
45         // Obtengo host y puerto.
46         string host = argv[1];
47         unsigned port;
48         {
49                 stringstream str(argv[2]);
50                 str >> port;
51         }
52
53         // Socket TCP.
54         udp_socket_stream socket;
55         if (!socket.is_open()) {
56                 cerr << "No está conectado." << endl;
57         }
58         if (!socket.setTarget(host, port)) {
59         //if (!sock.is_open()) {
60                 cerr << "No se pudo configurar el destino (" << host << ":" << port
61                         << ")." << ")." << endl;
62                 return 2;
63         }
64
65         char buff[4096];
66
67         // Envio pedido.
68         while (cin.getline(buff, 4096)) {
69                 socket << buff << endl;
70         }
71
72         return 0;
73 }