Packets/80221Bundle: removed MIHFId::None
[senf.git] / Examples / UDPClientServer / Mainpage.dox
index 532f4e9..b5c7875 100644 (file)
@@ -1,6 +1,6 @@
-// $Id: Mainpage.dox 625 2008-01-16 12:00:00Z Pug $
+// $Id$
 //
-// Copyright (C) 2007
+// Copyright (C) 2008
 // Fraunhofer Institute for Open Communication Systems (FOKUS)
 // Competence Center NETwork research (NET), St. Augustin, GERMANY
 //     Stefan Bund <g0dil@berlios.de>
     senf/Example/udpServer directory and compiled with
 
     <pre>
-        #scons -u
+        # scons -u
         <Then you can start the client/server with>
 
-        #./udpServer
-        #./udpClient
+        # ./udpServer
+        # ./udpClient
     </pre>
 
     When we take a look to the code, we start with the Server:
     Scheduler. The <tt> \link senf::Scheduler::add add() \endlink </tt> call takes two Arguments,
     the socket to bind to (which can be a lot of things and must not necessarily be a socket
     instance) and callback function to call, whenever there is an event on that socket.The callback
-    is specified as a <a href="http://www.boost.org/doc/html/function.html">Boost.Function</a> object.
-    A third argument may be specified to restrict the events, on which the function is called, here we
-    used the EV_READ Argument, because we just want the program to read from the socket.
-    The default argument is set to \c senf::Scheduler::EV_ALL, which allows all actions on the socket.
+    is specified as a <a href="http://www.boost.org/doc/libs/release/doc/html/function.html">
+    Boost.Function</a> object. A third argument may be specified to restrict the events, on which 
+    the function is called, here we used the EV_READ Argument, because we just want the program to
+    read from the socket. The default argument is set to \c senf::Scheduler::EV_ALL, which allows 
+    all actions on the socket.
 
     \until }
 
     Calling the Schedulers <tt> \link senf::Scheduler::process process()\endlink </tt> method will
-    start the event loop. This call does not return (ok, it does return in special cases if 
-    \c senf::Scheduler::terminate() is called which does not apply here). The Callback Function is 
+    start the event loop. This call does not return (ok, it does return in special cases if
+    \c senf::Scheduler::terminate() is called which does not apply here). The Callback Function is
     the \c readFromClient() Function, which is declared as private here and will be called whenever
     an event on the socket is encountered. The scheduler passes the event ID to the function.
 
@@ -88,7 +89,7 @@
 
     \until return 0;
 
-    That's it. We finish of by catching the exception and giving as much detail as possible if an
+    That's it. We finish of by catching the exception and giving as much %detail as possible if an
     exception is caught. The \c prettyName function from the \c Utils library is used, to get a nice,
     printable representation of the dynamic type of the exception instance. It is an interface to
     the g++ demangler. This is necessary since the name member of the C++ \c type_info instance is
 
     First a \c ::UDPv4ClientSocketHandle is created. With the function
     \c writeto(senf::INet4SocketAddress, string) the string s will be written to the specified
-    address and port, which is constructed here from a  static string \c "127.0.0.1:4243". In this
+    address and port, which is constructed here from a  static string read from the console with the format \c IP:PORT. In this
     example Integers from zero to ten are send to the Server socket.
 
     The exception handling is again the same as with the server application.
 */
 
-
+\f
 // Local Variables:
 // mode: c++
 // fill-column: 100