1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #include "nel/misc/types_nl.h"
23 #include "nel/net/service.h"
24 #include "nel/net/udp_sim_sock.h"
31 using namespace NLMISC
;
32 using namespace NLNET
;
38 CUdpSock
*UdpSock
= NULL
;
44 class CBenchService
: public IService
50 uint16 port
= ConfigFile
.getVar("UdpPort").asInt();
51 nlinfo ("Starting external UDP socket on port %d", port
);
52 UdpSock
= new CUdpSock (false);
65 while (UdpSock
->dataAvailable())
68 UdpSock
->receivedFrom((uint8
*)buffer
, len
, addr
);
69 nlinfo ("Received UDP datagram size %d from %s", len
, addr
.asString().c_str());
74 uint32 size
= msgout
.length();
75 UdpSock
->sendTo (msgout
.buffer(), size
, addr
);
76 nldebug ("Sent UDP datagram size %d to %s", size
, addr
.asString().c_str());
81 nlwarning ("Exception catched: '%s'", e
.what());
94 NLNET_SERVICE_MAIN (CBenchService
, "UDPS", "udp_service", 0, EmptyCallbackArray
, "", "")