From 685310582f82cc1732e68cc940f58d0bf9dc24ed Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Fri, 17 Oct 2003 05:54:27 +0000 Subject: [PATCH] Ya tengo el broadcaster UDP andando! Manda a un host:puerto por UDP un choclo, sin hacer una conexion (si lo recibe bien, si no tambien). --- tests/skstream/Makefile | 4 +- tests/skstream/servidor.cpp | 73 +++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 tests/skstream/servidor.cpp diff --git a/tests/skstream/Makefile b/tests/skstream/Makefile index 983f331..2d93290 100644 --- a/tests/skstream/Makefile +++ b/tests/skstream/Makefile @@ -3,8 +3,8 @@ # # Opciones para el compilador. -CXXFLAGS=-ansi -pedantic -Wall -g3 `skstream-config --cflags` -LDFLAGS=`skstream-config --libs` +CXXFLAGS=-ansi -pedantic -Wall -g `pkg-config --cflags skstream-0.3` +LDFLAGS=`pkg-config --libs skstream-0.3` # Regla por defecto. all: cliente servidor diff --git a/tests/skstream/servidor.cpp b/tests/skstream/servidor.cpp new file mode 100644 index 0000000..0955011 --- /dev/null +++ b/tests/skstream/servidor.cpp @@ -0,0 +1,73 @@ +/* vim: set ts=4 sw=4 : + * + * Prueba de 'servidor' echo tipo broadcast con skstream. + * + * Para compilar: + * g++ `skstream-config --cflags --libs` -o servidor servidor.cpp + * + * Necesita paquete libskstream-0.2 y libskstream-dev + * + * $Id$ + * + */ + +#include +#include +#include + +using namespace std; + +//class test { +// public: +// int i; + //test(void): i(10) {} + //test(int i): i(i) {} +//}; + +int main(int argc, char* argv[]) { + // Necesita argumentos. + if (argc < 3 || argc > 4) { + cerr << "Faltan argumentos: " << endl; + cerr << "\t" << argv[0] << " host port" << endl; + cerr << endl; + cerr << "Por la entrada estándar se ingresan los datos a mandar " + "al servidor." << endl; + cerr << "Cuando se escribe toda la petición, con Ctrl-D envía los " + "datos." << endl; + return 1; + } + +//test t; +//cerr << t.i << endl; +//udp_socket_stream s; +//s.is_open(); + + // Obtengo host y puerto. + string host = argv[1]; + unsigned port; + { + stringstream str(argv[2]); + str >> port; + } + + // Socket TCP. + udp_socket_stream socket; + if (!socket.is_open()) { + cerr << "No está conectado." << endl; + } + if (!socket.setTarget(host, port)) { + //if (!sock.is_open()) { + cerr << "No se pudo configurar el destino (" << host << ":" << port + << ")." << ")." << endl; + return 2; + } + + char buff[4096]; + + // Envio pedido. + while (cin.getline(buff, 4096)) { + socket << buff << endl; + } + + return 0; +} -- 2.43.0