-// $Id$
+// $Id: udpcat.cc 56 2009-05-13 13:33:24Z g0dil $
//
// Copyright (C) 2009
// Fraunhofer Institute for Open Communication Systems (FOKUS)
#define prefix_
///////////////////////////////cc.p////////////////////////////////////////
-int main(int argc, char ** argv)
+void udpIn(senf::INet4SocketAddress addr)
{
- senf::UDPv4ClientSocketHandle handle (
- senf::INet4SocketAddress(boost::lexical_cast<unsigned>(std::string(argv[1]))));
-
+ senf::UDPv4ClientSocketHandle handle (addr);
for (;;)
std::cout << handle.read() << std::flush;
}
+void udpOut(senf::INet4SocketAddress addr)
+{
+ senf::UDPv4ClientSocketHandle handle;
+ std::string line;
+ while (getline(std::cin, line)) {
+ line += "\n";
+ handle.writeto(addr, line);
+ }
+}
+
+int main(int argc, char ** argv)
+{
+ switch (argc) {
+ case 2:
+ udpIn(senf::INet4SocketAddress(boost::lexical_cast<unsigned>(std::string(argv[1]))));
+ break;
+ case 3:
+ udpOut(senf::INet4SocketAddress(senf::INet4Address::from_string(argv[1]),
+ boost::lexical_cast<unsigned>(std::string(argv[2]))));
+ break;
+ default:
+ std::cerr << "Usage:\n" " udpcat ip port\n" " udpcat port\n" << std::flush;
+ break;
+ }
+ return 1;
+}
+
///////////////////////////////cc.e////////////////////////////////////////
#undef prefix_
//#include "udpcat.mpp"