You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(47) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(140) |
Feb
(98) |
Mar
(152) |
Apr
(104) |
May
(71) |
Jun
(94) |
Jul
(169) |
Aug
(83) |
Sep
(47) |
Oct
(134) |
Nov
(7) |
Dec
(20) |
2004 |
Jan
(41) |
Feb
(14) |
Mar
(42) |
Apr
(47) |
May
(68) |
Jun
(143) |
Jul
(65) |
Aug
(29) |
Sep
(40) |
Oct
(34) |
Nov
(33) |
Dec
(97) |
2005 |
Jan
(29) |
Feb
(30) |
Mar
(9) |
Apr
(37) |
May
(13) |
Jun
(31) |
Jul
(22) |
Aug
(23) |
Sep
|
Oct
(37) |
Nov
(34) |
Dec
(117) |
2006 |
Jan
(48) |
Feb
(6) |
Mar
(2) |
Apr
(71) |
May
(10) |
Jun
(16) |
Jul
(7) |
Aug
(1) |
Sep
(14) |
Oct
(17) |
Nov
(25) |
Dec
(26) |
2007 |
Jan
(8) |
Feb
(2) |
Mar
(7) |
Apr
(26) |
May
|
Jun
(12) |
Jul
(30) |
Aug
(14) |
Sep
(9) |
Oct
(4) |
Nov
(7) |
Dec
(6) |
2008 |
Jan
(10) |
Feb
(10) |
Mar
(6) |
Apr
(8) |
May
|
Jun
(10) |
Jul
(18) |
Aug
(15) |
Sep
(16) |
Oct
(5) |
Nov
(3) |
Dec
(10) |
2009 |
Jan
(11) |
Feb
(2) |
Mar
|
Apr
(15) |
May
(31) |
Jun
(18) |
Jul
(11) |
Aug
(26) |
Sep
(52) |
Oct
(17) |
Nov
(4) |
Dec
|
2010 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <mk...@so...> - 2004-05-23 17:33:54
|
Author: mkrose Date: 2004-05-23 10:33:48 -0700 (Sun, 23 May 2004) New Revision: 709 Added: reviews/change Log: Added: reviews/change =================================================================== --- reviews/change 2004-05-23 17:18:55 UTC (rev 708) +++ reviews/change 2004-05-23 17:33:48 UTC (rev 709) @@ -0,0 +1 @@ +Sun May 23 10:35:07 2004 |
From: <mk...@so...> - 2004-05-23 17:19:03
|
Author: mkrose Date: 2004-05-23 10:18:55 -0700 (Sun, 23 May 2004) New Revision: 708 Added: reviews/ Log: Adding a directory that can be used to share code reviews. |
From: <sv...@ww...> - 2004-05-17 18:08:01
|
Author: delta Date: 2004-05-17 11:07:54 -0700 (Mon, 17 May 2004) New Revision: 956 Modified: trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp Log: Added return in getHostname(). Modified: trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-17 02:14:21 UTC (rev 955) +++ trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-17 18:07:54 UTC (rev 956) @@ -87,5 +87,5 @@ const char * NetworkNode::getHostname() { - m_addr.getHostname(); + return m_addr.getHostname(); } |
From: <mk...@so...> - 2004-05-17 07:15:05
|
Author: mkrose Date: 2004-05-17 00:14:59 -0700 (Mon, 17 May 2004) New Revision: 707 Modified: trunk/CSP/CSPSim/acinclude.m4 trunk/CSP/CSPSim/config.h.in trunk/CSP/CSPSim/configure.in Log: this is a test of changelist management under subversion. second line of the description. last line. Modified: trunk/CSP/CSPSim/acinclude.m4 =================================================================== --- trunk/CSP/CSPSim/acinclude.m4 2004-04-17 10:45:48 UTC (rev 706) +++ trunk/CSP/CSPSim/acinclude.m4 2004-05-17 07:14:59 UTC (rev 707) @@ -6,8 +6,8 @@ dnl how to fix them, please do so and commit the changes to CVS. Thanks! dnl dnl -OS +dnl - m4_pushdef([UP], m4_translit([$1], [a-z], [A-Z]))dnl m4_pushdef([DOWN], m4_translit([$1], [A-Z], [a-z]))dnl m4_pushdef([LDOWN], ac_path_lib_[]DOWN)dnl Modified: trunk/CSP/CSPSim/config.h.in =================================================================== --- trunk/CSP/CSPSim/config.h.in 2004-04-17 10:45:48 UTC (rev 706) +++ trunk/CSP/CSPSim/config.h.in 2004-05-17 07:14:59 UTC (rev 707) @@ -95,3 +95,4 @@ /* Version number of package */ #undef VERSION + Modified: trunk/CSP/CSPSim/configure.in =================================================================== --- trunk/CSP/CSPSim/configure.in 2004-04-17 10:45:48 UTC (rev 706) +++ trunk/CSP/CSPSim/configure.in 2004-05-17 07:14:59 UTC (rev 707) @@ -6,6 +6,7 @@ dnl how to fix them, please do so and commit the changes to CVS. Thanks! dnl dnl -OS +dnl AC_PREREQ(2.57) |
From: <sv...@ww...> - 2004-05-17 02:14:28
|
Author: wolverine Date: 2004-05-16 19:14:21 -0700 (Sun, 16 May 2004) New Revision: 955 Modified: trunk/CSP/CSPSim/CHANGES.current trunk/CSP/CSPSim/Data/CSPSim.ini trunk/CSP/CSPSim/Include/CSPSim.h trunk/CSP/CSPSim/Include/Networking.h trunk/CSP/CSPSim/Source/CSPSim.cpp trunk/CSP/CSPSim/Source/ClientNode.cpp trunk/CSP/CSPSim/Source/DynamicObject.cpp trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp trunk/CSP/CSPSim/Source/ServerNode.cpp Log: Networking changes Modified: trunk/CSP/CSPSim/CHANGES.current =================================================================== --- trunk/CSP/CSPSim/CHANGES.current 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/CHANGES.current 2004-05-17 02:14:21 UTC (rev 955) @@ -1,6 +1,12 @@ Version 0.4.0 (in progress) =========================== +2004-05-16: wolverine + * changes to networking include configuration from CSPSim.ini + which includes ports, server node, option to disable/enable + networking. Also removed a few extra printf statesments. + Added NetworkMessage pooling/memory manage. + 2004-05-15: wolverine * Changes to and cleanup to networking code. Modified: trunk/CSP/CSPSim/Data/CSPSim.ini =================================================================== --- trunk/CSP/CSPSim/Data/CSPSim.ini 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Data/CSPSim.ini 2004-05-17 02:14:21 UTC (rev 955) @@ -36,8 +36,9 @@ Date = 2004-05-09 12:00:00 [Networking] +UseNetworking = true LocalMessagePort = 3150 -LocalMessageHost = 127.0.0.1 +LocalMessageHost = 127.0.0.1 RemoteMessagePort = 3160 RemoteMessageHost = 127.0.0.1 Modified: trunk/CSP/CSPSim/Include/CSPSim.h =================================================================== --- trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-17 02:14:21 UTC (rev 955) @@ -183,7 +183,8 @@ NetworkMessenger * m_NetworkMessenger; NetworkNode * m_RemoteServerNode; NetworkNode * m_localNode; - + bool b_networkingFlag; + osg::ref_ptr<Producer::RenderSurface> m_RenderSurface; }; Modified: trunk/CSP/CSPSim/Include/Networking.h =================================================================== --- trunk/CSP/CSPSim/Include/Networking.h 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Include/Networking.h 2004-05-17 02:14:21 UTC (rev 955) @@ -78,7 +78,8 @@ simdata::uint16 getPayloadLen(); Port getOriginatorPort(); - + NetworkNode * getOriginatorNode(); + bool isInitialized(); bool isHeaderValid(); @@ -110,6 +111,7 @@ public: NetworkNode(); NetworkNode(int node_id, ost::InetHostAddress addr, Port port); + NetworkNode(int node_id, simdata::uint32 addr, Port port); NetworkNode(int node_id, const char * hostname, Port port); @@ -120,6 +122,7 @@ short getId(); Port getPort(); ost::InetHostAddress getAddress(); + const char * getHostname(); }; @@ -153,7 +156,8 @@ MessageSocketDuplex * m_messageSocketDuplex; std::list<NetworkMessage*> m_messageList; NetworkNode * m_orginatorNode; - + std::list<NetworkMessage*> m_messagePool; + public: NetworkMessenger(); Modified: trunk/CSP/CSPSim/Source/CSPSim.cpp =================================================================== --- trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-17 02:14:21 UTC (rev 955) @@ -153,6 +153,7 @@ m_NetworkMessenger = NULL; m_RemoteServerNode = NULL; m_localNode = NULL; + b_networkingFlag = false; } @@ -414,6 +415,7 @@ m_GameScreen->onInit(); // create the networking layer + b_networkingFlag = g_Config.getBool("Networking", "UseNetworking", false, true); int localMessagePort = g_Config.getInt("Networking", "LocalMessagePort", 10000, true); CSP_LOG(APP, DEBUG, "init() - Creating Message listener on port: " << localMessagePort); std::string remoteAddr = g_Config.getString("Networking", "RemoteMessageHost", "127.0.0.1", true); @@ -716,20 +718,20 @@ // be moved elsewhere. Currently commenting out so we can move to subversion. CSP_LOG(APP, DEBUG, "CSPSim::run... beginning network updates"); - simdata::Ref<DynamicObject> dynamicObject = (simdata::Ref<DynamicObject>)m_ActiveObject; - NetworkMessage * message = dynamicObject->getUpdateMessage(); + if (b_networkingFlag) + { + simdata::Ref<DynamicObject> dynamicObject = (simdata::Ref<DynamicObject>)m_ActiveObject; + NetworkMessage * message = dynamicObject->getUpdateMessage(); - CSP_LOG(APP, DEBUG, "CSPSim::run... queuing test network updates"); - m_NetworkMessenger->queueMessage(m_RemoteServerNode, message); - m_NetworkMessenger->sendMessages(); - m_NetworkMessenger->receiveMessages(); +// CSP_LOG(APP, DEBUG, "CSPSim::run... queuing test network updates"); + m_NetworkMessenger->queueMessage(m_RemoteServerNode, message); + m_NetworkMessenger->sendMessages(); + m_NetworkMessenger->receiveMessages(); -// dynamicObject->putUpdateMessage( message ); - CSP_LOG(APP, DEBUG, "CSPSim::run... finished network updates"); - +// CSP_LOG(APP, DEBUG, "CSPSim::run... finished network updates"); + } // this may not be necessary. especially if a memory pool of messages objects is used. -// delete message; } Modified: trunk/CSP/CSPSim/Source/ClientNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ClientNode.cpp 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Source/ClientNode.cpp 2004-05-17 02:14:21 UTC (rev 955) @@ -2,6 +2,7 @@ #include "ClientNode.h" #include <stdio.h> #include <stdlib.h> +#include "Config.h" ClientNode::ClientNode() { @@ -11,18 +12,24 @@ int ClientNode::run() { printf("Network test client starting up...\n"); - Port localPort = 3150; - Port remotePort = 3160; - NetworkNode localNode(1, "localhost", localPort); - NetworkNode remoteNode(1, "localhost", remotePort); - NetworkMessenger * messenger = new NetworkMessenger(&localNode); - NetworkMessage * message = messenger->getMessageFromPool(1, 100); + Port localPort = g_Config.getInt("Networking", "LocalMessagePort", 10000, true); + std::string localHost = g_Config.getString("Networking", "LocalMessageHost", "127.0.0.1", true); + + Port remotePort = (Port)g_Config.getInt("Networking", "RemoteMessagePort", 0, true); + std::string remoteHost = g_Config.getString("Networking", "RemoteMessageHost", "127.0.0.1", true); + + + NetworkNode * remoteNode = new NetworkNode(1, remoteHost.c_str(), remotePort ); + NetworkNode * localNode = new NetworkNode(1, localHost.c_str(), localPort); + NetworkMessenger * networkMessenger = new NetworkMessenger(localNode); + + NetworkMessage * message = networkMessenger->getMessageFromPool(1, 100); char * payloadPtr = (char*)message->getPayloadPtr(); memset(payloadPtr, 0 , 100); strcpy(payloadPtr, "Hello From CSP Network Test Client!"); Port port = message->getOriginatorPort(); - messenger->queueMessage(&remoteNode, message); - messenger->sendMessages(); + networkMessenger->queueMessage(remoteNode, message); + networkMessenger->sendMessages(); return 0; } Modified: trunk/CSP/CSPSim/Source/DynamicObject.cpp =================================================================== --- trunk/CSP/CSPSim/Source/DynamicObject.cpp 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Source/DynamicObject.cpp 2004-05-17 02:14:21 UTC (rev 955) @@ -403,7 +403,7 @@ unsigned char * ptrBuf = (unsigned char*)message->getPayloadPtr(); - printf("Generating network update message for object id: %d\n", m_ID); +// printf("Generating network update message for object id: %d\n", m_ID); memcpy((void*)ptrBuf, (void*)&m_ID, sizeof(unsigned int)); ptrBuf += sizeof(unsigned int); simdata::SimTime timeStamp = CSPSim::theSim->getElapsedTime(); @@ -448,11 +448,11 @@ // verify we have the correct id in the packet for this object. if (m_ID == idValue) { - printf("Loading update message of object %d\n", m_ID); +// printf("Loading update message of object %d\n", m_ID); } else { - printf("Error loading update message, object id (%d) does not match\n", idValue); +// printf("Error loading update message, object id (%d) does not match\n", idValue); } // get timestamp Modified: trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-17 02:14:21 UTC (rev 955) @@ -74,8 +74,8 @@ // get addr of next packet Port port; ost::InetHostAddress addr = m_UDPReceiverSocket->getPeer(&port); - printf("MessageSocketDuplex::recvfrom() - port: %d\n", port); - printf("MessageSocketDuplex::recvfrom() - hostname: %s\n", addr.getHostname()); + //printf("MessageSocketDuplex::recvfrom() - port: %d\n", port); +// printf("MessageSocketDuplex::recvfrom() - hostname: %s\n", addr.getHostname()); // peek at packet to verify this is a valid CSP packet. and if so get the packet type. Modified: trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp 2004-05-17 02:14:21 UTC (rev 955) @@ -140,3 +140,7 @@ return m_header.m_port; } +NetworkNode * NetworkMessage::getOriginatorNode() +{ + return new NetworkNode(m_header.m_id, m_header.m_ipaddr, m_header.m_port); +} Modified: trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp 2004-05-17 02:14:21 UTC (rev 955) @@ -50,19 +50,28 @@ void NetworkMessenger::sendMessages() { CSP_LOG(APP, DEBUG, "NetworkMessenger::sendMessages()"); - std::list<NetworkMessage*>::iterator i = m_messageList.begin(); - std::list<NetworkMessage*>::const_iterator end = m_messageList.end(); - for ( ; i != end ; ++i ) + while(!m_messageList.empty()) { - m_messageSocketDuplex->sendto((*i), g_node); + NetworkMessage * message = m_messageList.front(); + m_messageSocketDuplex->sendto(message, g_node); + m_messageList.pop_front(); + returnMessageToPool(message); + } +// std::list<NetworkMessage*>::iterator i = m_messageList.begin(); +// std::list<NetworkMessage*>::const_iterator end = m_messageList.end(); +// for ( ; i != end ; ++i ) +// { +// m_messageSocketDuplex->sendto((*i), g_node); +// } } void NetworkMessenger::receiveMessages() { CSP_LOG(APP, DEBUG, "NetworkMessenger::ReceiveMessage()"); - + NetworkMessage * networkMessageHandle; + m_messageSocketDuplex->recvfrom(&networkMessageHandle); } NetworkNode * NetworkMessenger::getOrginatorNode() @@ -79,8 +88,18 @@ // buffer then cast it to a NetworkMessage pointer. NetworkMessage * NetworkMessenger::getMessageFromPool(int messageType, int payloadLen) { - simdata::uint8 * buffer = new simdata::uint8[NETWORK_PACKET_SIZE]; - NetworkMessage * message = (NetworkMessage*)buffer; + printf("NetworkMessenger::getMessageFromPool() - CurrentPoolSize: %d\n", m_messagePool.size()); + if (m_messagePool.empty()) + { + for(int i=0;i<100;i++) + { + simdata::uint8 * buffer = new simdata::uint8[NETWORK_PACKET_SIZE]; + NetworkMessage * message = (NetworkMessage*)buffer; + m_messagePool.push_back(message); + } + } + NetworkMessage * message = m_messagePool.front(); + m_messagePool.pop_front(); message->initialize( messageType, payloadLen, m_orginatorNode); return message; } @@ -88,7 +107,8 @@ // cast the NetworkMessage pointer back to a binary buffer then free the buffer. void NetworkMessenger::returnMessageToPool(NetworkMessage * message) { - simdata::uint8 * buffer = (simdata::uint8 *)message; - delete buffer; + printf("NetworkMessenger::returnMessageToPool() - CurrentPoolSize: %d\n", m_messagePool.size()); + m_messagePool.push_back(message); } + Modified: trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-17 02:14:21 UTC (rev 955) @@ -47,6 +47,14 @@ m_port = port; } +NetworkNode::NetworkNode(int node_id, simdata::uint32 addr, Port port) +{ + m_node_id = node_id; + struct in_addr my_in_addr; + my_in_addr.s_addr = addr; + m_addr = ost::InetHostAddress(my_in_addr); + m_port = port; +} void NetworkNode::setAddress(ost::InetHostAddress addr) { m_addr = addr; @@ -77,3 +85,7 @@ return m_node_id; } +const char * NetworkNode::getHostname() +{ + m_addr.getHostname(); +} Modified: trunk/CSP/CSPSim/Source/ServerNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-16 03:05:34 UTC (rev 954) +++ trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-17 02:14:21 UTC (rev 955) @@ -5,6 +5,7 @@ #ifndef WIN32 #include <unistd.h> #endif +#include "Config.h" ServerNode::ServerNode() { @@ -13,23 +14,27 @@ int ServerNode::run() { - printf("Network test client starting up...\n"); - Port remotePort = 3150; - Port localPort = 3160; - unsigned short messageLen = 512; - NetworkNode * remoteNode; - NetworkNode localNode(1, "localhost", localPort); + printf("Network test server starting up...\n"); + Port remotePort = g_Config.getInt("Networking", "LocalMessagePort", 10000, true); + std::string remoteHost = g_Config.getString("Networking", "LocalMessageHost", "127.0.0.1", true); - MessageSocketDuplex * socket = new MessageSocketDuplex(localPort); + Port localPort = (Port)g_Config.getInt("Networking", "RemoteMessagePort", 0, true); + std::string localHost = g_Config.getString("Networking", "RemoteMessageHost", "127.0.0.1", true); + + NetworkNode * remoteNode = new NetworkNode(1, remoteHost.c_str(), remotePort ); + NetworkNode * localNode = new NetworkNode(1, localHost.c_str(), localPort); + + MessageSocketDuplex * socketDuplex = new MessageSocketDuplex(localPort); NetworkMessage * message=NULL; while(1) { - int numreceived = socket->recvfrom(&message); + int numreceived = socketDuplex->recvfrom(&message); if (numreceived > 0) { - Port port = message->getOriginatorPort(); + NetworkNode * node = message->getOriginatorNode(); printf("Received Data From Client:\n"); - printf("Client port: %d\n", port); + printf("Client addr: %s\n", node->getHostname()); + printf("Client port: %d\n", node->getPort()); } else { |
From: <sv...@ww...> - 2004-05-16 03:05:45
|
Author: wolverine Date: 2004-05-15 20:05:34 -0700 (Sat, 15 May 2004) New Revision: 954 Modified: trunk/CSP/CSPSim/CHANGES.current trunk/CSP/CSPSim/Include/CSPSim.h trunk/CSP/CSPSim/Include/Networking.h trunk/CSP/CSPSim/Makefile.in trunk/CSP/CSPSim/Source/CSPSim.cpp trunk/CSP/CSPSim/Source/ClientNode.cpp trunk/CSP/CSPSim/Source/DynamicObject.cpp trunk/CSP/CSPSim/Source/Makefile.in trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp trunk/CSP/CSPSim/Source/ServerNode.cpp Log: changes and cleanup to networking Modified: trunk/CSP/CSPSim/CHANGES.current =================================================================== --- trunk/CSP/CSPSim/CHANGES.current 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/CHANGES.current 2004-05-16 03:05:34 UTC (rev 954) @@ -1,6 +1,9 @@ Version 0.4.0 (in progress) =========================== +2004-05-15: wolverine + * Changes to and cleanup to networking code. + 2004-05-12: delta * Removed obsolete ComputeTransformCallback in Source/VirtualScene.cpp and replaced it by an osg::Transform (lunalog's post). Modified: trunk/CSP/CSPSim/Include/CSPSim.h =================================================================== --- trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-16 03:05:34 UTC (rev 954) @@ -97,6 +97,7 @@ VirtualScene const * getScene() const; simdata::Ref<Theater> getTheater() const; simdata::Ref<EventMapIndex> getInterfaceMaps() const; + NetworkMessenger * getNetworkMessenger(); void togglePause(); void runConsole(PyConsole *console); @@ -181,6 +182,7 @@ */ NetworkMessenger * m_NetworkMessenger; NetworkNode * m_RemoteServerNode; + NetworkNode * m_localNode; osg::ref_ptr<Producer::RenderSurface> m_RenderSurface; }; Modified: trunk/CSP/CSPSim/Include/Networking.h =================================================================== --- trunk/CSP/CSPSim/Include/Networking.h 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Include/Networking.h 2004-05-16 03:05:34 UTC (rev 954) @@ -40,38 +40,45 @@ typedef int SockFd; typedef simdata::uint16 Port; +class NetworkNode; +const short NETWORK_PACKET_SIZE = 512; + +struct MessageHeader +{ + simdata::uint16 m_magicNumber; + simdata::uint16 m_payloadLen; + simdata::uint16 m_messageType; + simdata::uint32 m_ipaddr; + simdata::uint16 m_port; + simdata::uint16 m_id; +}; + class NetworkMessage { protected: + MessageHeader m_header; + simdata::uint8 m_payloadBuf[]; - simdata::uint8 * m_Buf; - simdata::uint8 * m_PayloadBuf; - simdata::uint16 m_BufferLen; - simdata::uint16 m_MessageType; - simdata::uint16 m_PayloadLen; - bool m_Initialized; - - static unsigned short magicNumber; + static unsigned short m_magicNumber; static unsigned short m_HeaderLen; - public: + private: NetworkMessage(); - virtual ~NetworkMessage(); - bool initialize(simdata::uint16 type, simdata::uint16 payloadLength); + public: + + bool initialize(simdata::uint16 type, simdata::uint16 payloadLength, NetworkNode * senderNode); simdata::uint16 getType(); - void * getBufferPtr(); void * getPayloadPtr(); - - simdata::uint16 getBufferLen(); simdata::uint16 getPayloadLen(); - simdata::uint16 getHeaderLen(); + Port getOriginatorPort(); + bool isInitialized(); bool isHeaderValid(); @@ -83,32 +90,34 @@ }; -class ObjectUpdateMessage : public NetworkMessage -{ +//class ObjectUpdateMessage : public NetworkMessage +//{ +// +// public: +// ObjectUpdateMessage(simdata::uint16 id, simdata::Vector3 position, simdata::Vector3 velocity); +// +// +//}; - public: - ObjectUpdateMessage(simdata::uint16 id, simdata::Vector3 position, simdata::Vector3 velocity); - - -}; - class NetworkNode { private: - uint32 m_node_id; ost::InetHostAddress m_addr; Port m_port; + uint16 m_node_id; public: NetworkNode(); NetworkNode(int node_id, ost::InetHostAddress addr, Port port); + NetworkNode(int node_id, const char * hostname, Port port); + void setAddress(ost::InetHostAddress addr); void setPort(Port port); - void setId(int node_id); + void setId(short node_id); - int getId(); + short getId(); Port getPort(); ost::InetHostAddress getAddress(); @@ -119,16 +128,6 @@ ost::UDPSocket * m_UDPReceiverSocket; ost::UDPSocket * m_UDPSenderSocket; - /* - SockFd m_receiverSockFd; - SockFd m_senderSockFd; - */ - - /* - struct sockaddr_in m_receiverSocketAddress; - NetworkAddress * m_receiverAddress; - */ - ost::InetAddress * m_receiverAddr; Port m_receiverPort; @@ -137,15 +136,10 @@ MessageSocketDuplex(ost::InetAddress & Address, Port port); // set the bound address and port. MessageSocketDuplex(Port port); // set the bound port. - /* - void bind(NetworkAddress * address, Port port); // binds the listener port. - */ + int sendto(NetworkMessage * message, ost::InetHostAddress * remoteAddress, Port * remotePort); + int sendto(NetworkMessage * message, NetworkNode * node); - int sendto(NetworkMessage & message, ost::InetHostAddress * remoteAddress, Port * remotePort); - int recvfrom(NetworkMessage & message, ost::InetHostAddress * remoteAddress=NULL, Port * remotePort=NULL); - - int sendto(NetworkMessage & message, NetworkNode * node); - int recvfrom(NetworkMessage & message, NetworkNode * node); + int recvfrom(NetworkMessage ** message); ost::InetAddress * getReciverAddress() { return m_receiverAddr; } Port getReceiverPort() { return m_receiverPort; } @@ -158,15 +152,22 @@ private: MessageSocketDuplex * m_messageSocketDuplex; std::list<NetworkMessage*> m_messageList; + NetworkNode * m_orginatorNode; public: NetworkMessenger(); - NetworkMessenger(Port port); + NetworkMessenger(NetworkNode * orginatorNode); - void queueMessage(NetworkNode * node, NetworkMessage * message); + void queueMessage(NetworkNode * remoteNode, NetworkMessage * message); void sendMessages(); void receiveMessages(); + + NetworkNode * getOrginatorNode(); + void setOrginatorNode(NetworkNode * orginatorNode); + + NetworkMessage * getMessageFromPool(int type, int payloadLen); + void returnMessageToPool(NetworkMessage * message); }; Modified: trunk/CSP/CSPSim/Makefile.in =================================================================== --- trunk/CSP/CSPSim/Makefile.in 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Makefile.in 2004-05-16 03:05:34 UTC (rev 954) @@ -2,6 +2,7 @@ export DEMETER_RELATIVE = ../Demeter export CHUNKLOD_RELATIVE = ../CSPChunkLod +export SIMDATA_RELATIVE = ../SimData export GDEBUGF = -g -Wall export GCFLAGS = -fPIC -O2# -DSWIG_GLOBAL Modified: trunk/CSP/CSPSim/Source/CSPSim.cpp =================================================================== --- trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-16 03:05:34 UTC (rev 954) @@ -151,6 +151,8 @@ m_Shell = new PyShell(); m_NetworkMessenger = NULL; + m_RemoteServerNode = NULL; + m_localNode = NULL; } @@ -211,6 +213,10 @@ return m_Scene.get(); } +NetworkMessenger * CSPSim::getNetworkMessenger() { + return m_NetworkMessenger; +} + VirtualScene const * CSPSim::getScene() const { return m_Scene.get(); } @@ -410,7 +416,12 @@ // create the networking layer int localMessagePort = g_Config.getInt("Networking", "LocalMessagePort", 10000, true); CSP_LOG(APP, DEBUG, "init() - Creating Message listener on port: " << localMessagePort); - m_NetworkMessenger = new NetworkMessenger(localMessagePort); + std::string remoteAddr = g_Config.getString("Networking", "RemoteMessageHost", "127.0.0.1", true); + + Port remotePort = (Port)g_Config.getInt("Networking", "RemoteMessagePort", 0, true); + m_RemoteServerNode = new NetworkNode(1, remoteAddr.c_str(), remotePort ); + m_localNode = new NetworkNode(1, "localhost", localMessagePort); + m_NetworkMessenger = new NetworkMessenger(m_localNode); #if 0 // set the Main Menu then start the main loop @@ -708,6 +719,7 @@ simdata::Ref<DynamicObject> dynamicObject = (simdata::Ref<DynamicObject>)m_ActiveObject; NetworkMessage * message = dynamicObject->getUpdateMessage(); + CSP_LOG(APP, DEBUG, "CSPSim::run... queuing test network updates"); m_NetworkMessenger->queueMessage(m_RemoteServerNode, message); m_NetworkMessenger->sendMessages(); m_NetworkMessenger->receiveMessages(); Modified: trunk/CSP/CSPSim/Source/ClientNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ClientNode.cpp 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Source/ClientNode.cpp 2004-05-16 03:05:34 UTC (rev 954) @@ -1,10 +1,7 @@ - - - #include "Networking.h" +#include "ClientNode.h" #include <stdio.h> #include <stdlib.h> -#include "ClientNode.h" ClientNode::ClientNode() { @@ -14,28 +11,21 @@ int ClientNode::run() { printf("Network test client starting up...\n"); - Port clientPort = 20010; - Port serverPort = 20011; - MessageSocketDuplex * socketDuplex = new MessageSocketDuplex(clientPort); - NetworkMessage message; - message.initialize(1, 100); - char * payloadPtr = (char*)message.getPayloadPtr(); + Port localPort = 3150; + Port remotePort = 3160; + NetworkNode localNode(1, "localhost", localPort); + NetworkNode remoteNode(1, "localhost", remotePort); + NetworkMessenger * messenger = new NetworkMessenger(&localNode); + NetworkMessage * message = messenger->getMessageFromPool(1, 100); + char * payloadPtr = (char*)message->getPayloadPtr(); memset(payloadPtr, 0 , 100); strcpy(payloadPtr, "Hello From CSP Network Test Client!"); - ost::InetHostAddress * serverAddress = new ost::InetHostAddress("localhost"); - socketDuplex->sendto(message, serverAddress, &serverPort); + Port port = message->getOriginatorPort(); + messenger->queueMessage(&remoteNode, message); + messenger->sendMessages(); return 0; } -#ifdef CSP_STANDALONE -int main(int argc, char * argv[]) -{ - ClientNode node; - return node.run(); -} -#endif - - Modified: trunk/CSP/CSPSim/Source/DynamicObject.cpp =================================================================== --- trunk/CSP/CSPSim/Source/DynamicObject.cpp 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Source/DynamicObject.cpp 2004-05-16 03:05:34 UTC (rev 954) @@ -394,12 +394,12 @@ NetworkMessage * DynamicObject::getUpdateMessage() { + CSP_LOG(APP, DEBUG, "DynamicObject::getUpdateMessage()"); unsigned short messageType = 2; unsigned short payloadLen = sizeof(int) + sizeof(double) + 3*sizeof(simdata::Vector3) + sizeof(simdata::Quat) /* + sizeof(simdata::Matrix3) + sizeof(double) */; - NetworkMessage * message = new NetworkMessage(); - message->initialize( messageType, payloadLen); + NetworkMessage * message = CSPSim::theSim->getNetworkMessenger()->getMessageFromPool(messageType, payloadLen); unsigned char * ptrBuf = (unsigned char*)message->getPayloadPtr(); @@ -428,6 +428,7 @@ // memcpy((void*)ptrBuf, (void*)&b_Mass->value(), sizeof(double)); // ptrBuf += bytescopied; + CSP_LOG(APP, DEBUG, "DynamicObject::getUpdateMessage() - returning message"); return message; @@ -478,6 +479,8 @@ // return message to shared pool. // NetworkMessagePool.putMessageObject(message); // delete message; +// +// CSPSim::theSim->getNetworkMessenger()->returnMessageToPool(message); } Modified: trunk/CSP/CSPSim/Source/Makefile.in =================================================================== --- trunk/CSP/CSPSim/Source/Makefile.in 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Source/Makefile.in 2004-05-16 03:05:34 UTC (rev 954) @@ -12,6 +12,9 @@ CHUNKLOD_LIBRARY = -L$(CHUNKLOD_PREFIX)/lib -losgChunkLod_csp CHUNKLOD_INCLUDE = -I$(CHUNKLOD_PREFIX)/include +SIMDATA_PREFIX = $(TOPDIR)/$(SIMDATA_RELATIVE) +SIMDATA_LIBRARY = -L$(SIMDATA_PREFIX)/SimData -lSimData + LIBS = $(DEMETER_LIBRARY) $(CHUNKLOD_LIBRARY) -lccgnu2 INCLUDE = -I$(TOPDIR)/Include $(DEMETER_INCLUDE) $(CHUNKLOD_INCLUDE) -I@PYTHON_INCLUDE@ -I/usr/local/include/cc++2 @@ -21,17 +24,11 @@ SWCXXF = $(GCFLAGS) $(INCLUDE) @SIGC_FLAGS@ LDOPTS = -Wl,-z,lazyload $(GLDOPTS) @LIBS@ SWOPTS = $(GSWOPTS) $(INCLUDE) +EXTERN_LIBS = @LIBS@ -NETWORK_SOURCES = Networking/NetworkNode.cpp \ - Networking/NetworkMessage.cpp \ - Networking/ObjectUpdateMessage.cpp \ - Networking/NetworkMessenger.cpp \ - Networking/NetworkBroadcaster.cpp \ - Networking/NetworkListener.cpp \ - Networking/NetworkSocket.cpp \ - Networking/MessageSocketDuplex.cpp \ - Networking/NetworkAddress.cpp \ - +SHARED_LIB = libcspsim.so +STATIC_LIB = libcspsim_static.a +WRAPED_LIB = _cCSP.so SOURCES = \ Systems/AircraftFlightSensors.cpp \ @@ -117,7 +114,6 @@ VirtualScene.cpp OBJECTS = $(SOURCES:%.cpp=%.o) -NETWORK_OBJECTS = $(NETWORK_SOURCES:%.cpp=%.o) DEPDIR = .deps MKDEP = $(CXX) -M $(CFLAGS) @@ -135,10 +131,10 @@ rm -f $(SOURCES:%.cpp=%.o) rm -f lib*.a rm -f $(BIN)/_cCSP.so $(BIN)/cCSP.py cCSP_wrap.* - rm -f $(DEPDIR)/*.d clean-dependencies: - @echo $(RM) -r $(RMFLAGS) $(DEPDIR) + @echo + find $(DEPDIR) -name *.d -exec ${RM} {} \; clean-deps: clean-dependencies @@ -168,9 +164,16 @@ @echo "Computing dependencies for $<..." @$(SWDEP) $(DEPFILTER) -o $(<:.i=_wrap.cpp) $< > $@ -_cCSP.so: $(OBJECTS) cCSP_wrap.o - $(CXX) $(LDOPTS) -o$(BIN)/$@ $^ $(LIBS) +$(WRAPED_LIB) : $(OBJECTS) cCSP_wrap.o + $(CXX) $(LDOPTS) -o$@ $^ $(LIBS) + cp $(WRAPED_LIB) $(BIN)/$(WRAPED_LIB) +$(STATIC_LIB): $(OBJECTS) + rm -rf $(BIN)/$(STATIC_LIB) + $(AR) rc $(BIN)/$(STATIC_LIB) $(OBJECTS) + rm -rf $(BIN)/$(SHARED_LIB) + $(CXX) -shared $(OBJECTS) -o $(BIN)/$(SHARED_LIB) + #CSPapp: $(OBJECTS) main.o # $(CXX) -lswigpy -lpython2.2 -o$@ $^ $(LIBS) @@ -181,20 +184,15 @@ cCSP_wrap.o: cCSP_wrap.cpp $(CXX) -c $(SWCXXF) $(@:.o=.cpp) -ClientNode_StandAlone.o : ClientNode.cpp - $(CXX) -c $(CFLAGS) $(INCLUDE) -DCSP_STANDALONE -o ClientNode_StandAlone.o ClientNode.cpp - -ClientNode: $(NETWORK_OBJECTS) ClientNode_StandAlone.o - $(CXX) -L/usr/local/lib -lccgnu2 -ldl -lpthread -o$(BIN)/$@ $(NETWORK_OBJECTS) ClientNode_StandAlone.o -ServerNode_StandAlone.o : ServerNode.cpp - $(CXX) -c $(CFLAGS) $(INCLUDE) -DCSP_STANDALONE -o ServerNode_StandAlone.o ServerNode.cpp +#clientNode: ClientNodeDriver.o +# $(CXX) $(EXTERN_LIBS) $(OBJECTS) $(SIMDATA_LIBRARY) -o$@ $^ $(LIBS) -ServerNode: $(NETWORK_OBJECTS) ServerNode_StandAlone.o - $(CXX) -L/usr/local/lib -lccgnu2 -ldl -lpthread -o$(BIN)/$@ $(NETWORK_OBJECTS) ServerNode_StandAlone.o - +#serverNode: ServerNodeDriver.o +# $(CXX) $(EXTERN_LIBS) $(OBJECTS) $(SIMDATA_LIBRARY) -o$@ $^ $(LIBS) + -test: ClientNode ServerNode +test: clientNode serverNode %.o: %.cpp @@ -203,8 +201,14 @@ AeroDynamics.o: AeroDynamics.cpp $(CXX) -c $(CFLAGS) -O3 $(@:.o=.cpp) +#ClientNodeDriver.o: ClientNodeDriver.cpp +# $(CXX) -c $(CFLAGS) $(INCLUDE) -o ClientNodeDriver.o ClientNodeDriver.cpp + +#ServerNodeDriver.o: ServerNodeDriver.cpp +# $(CXX) -c $(CFLAGS) $(INCLUDE) -o ServerNodeDriver.o ServerNodeDriver.cpp + Makefile: Makefile.in cd $(TOPDIR) && ./configure -all: Makefile build-subdirs _cCSP.so test #CSPapp +all: Makefile build-subdirs $(WRAPED_LIB) #$(STATIC_LIB) test #CSPapp Modified: trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-16 03:05:34 UTC (rev 954) @@ -39,25 +39,6 @@ m_receiverPort = port; m_UDPReceiverSocket = new ost::UDPSocket(*m_receiverAddr, port); m_UDPSenderSocket = new ost::UDPSocket(); - - /* - m_receiverSockFd = socket(AF_INET, SOCK_DGRAM, 0); - m_senderSockFd = socket(AF_INET, SOCK_DGRAM, 0); - */ - - /* - memset( (void*)&m_receiverSocketAddress, 0, sizeof (struct sockaddr_in)); - - m_receiverSocketAddress.sin_family = AF_INET; - m_receiverSocketAddress.sin_port = htons( port ); - m_receiverSocketAddress.sin_addr.s_addr = htonl(INADDR_ANY); - - ::bind(m_receiverSockFd, (struct sockaddr *)&m_receiverSocketAddress, sizeof(m_receiverSocketAddress)); - */ - - // create sender end point - - } MessageSocketDuplex::MessageSocketDuplex(ost::InetAddress & addr, Port port) @@ -69,44 +50,22 @@ } -/* -void MessageSocketDuplex::bind(NetworkAddress * address, Port port) +int MessageSocketDuplex::sendto(NetworkMessage * message, ost::InetHostAddress * remoteAddress, Port * remotePort) { - -} -*/ - -int MessageSocketDuplex::sendto(NetworkMessage & message, ost::InetHostAddress * remoteAddress, Port * remotePort) -{ // CSP_LOG(NETWORK, DEBUG, "Sending Network Packet"); m_UDPSenderSocket->setPeer(*remoteAddress, *remotePort); #ifdef _MSC_VER - return m_UDPSenderSocket->send((const char *)message.getBufferPtr(), message.getBufferLen()); + return m_UDPSenderSocket->send((const char *)message, NETWORK_PACKET_SIZE); #else - return m_UDPSenderSocket->send((const void *)message.getBufferPtr(), message.getBufferLen()); + return m_UDPSenderSocket->send((const void *)message, NETWORK_PACKET_SIZE); #endif - /* - - struct sockaddr_in servaddr; - memset((void*)&servaddr, 0, sizeof(sockaddr)); - servaddr.sin_family = AF_INET; - servaddr.sin_port = htons(*remotePort); - servaddr.sin_addr.s_addr = inet_addr(remoteAddress->getNetworkName().c_str()); - -#ifdef _MSC_VER - return ::sendto(m_senderSockFd, (const char *)message->getBufferPtr(), message->getBufferLen(), 0, (const struct sockaddr *)&servaddr, sizeof(sockaddr)); -#else - return ::sendto(m_senderSockFd, (const void *)message->getBufferPtr(), message->getBufferLen(), 0, (const struct sockaddr *)&servaddr, sizeof(sockaddr)); -#endif - - */ } -int MessageSocketDuplex::recvfrom(NetworkMessage & message, ost::InetHostAddress * remoteAddress, Port * remotePort) +int MessageSocketDuplex::recvfrom(NetworkMessage ** message) { // CSP_LOG(NETWORK, DEBUG, "Receving Network Packet"); @@ -115,13 +74,8 @@ // get addr of next packet Port port; ost::InetHostAddress addr = m_UDPReceiverSocket->getPeer(&port); - - - // TODO may need to validate addr, and port as being from a register node. - if (remotePort) - *remotePort = port; - if (remoteAddress) - *remoteAddress = addr; + printf("MessageSocketDuplex::recvfrom() - port: %d\n", port); + printf("MessageSocketDuplex::recvfrom() - hostname: %s\n", addr.getHostname()); // peek at packet to verify this is a valid CSP packet. and if so get the packet type. @@ -129,30 +83,25 @@ uint16 headerBuffer[6]; int numHeaderBytes = m_UDPReceiverSocket->peek(headerBuffer, headerlen); + // TODO validation of header + simdata::uint8 * buffer = new simdata::uint8[512]; + int maxBufLen = 512; + // get the packet - int numPacketBytes = m_UDPReceiverSocket->receive((void*)message.getBufferPtr(), - message.getBufferLen()); + int numPacketBytes = m_UDPReceiverSocket->receive((void*)buffer, maxBufLen); + *message = (NetworkMessage*)buffer; return numPacketBytes; } return 0; - - - /* - struct sockaddr_in cliaddr; - socklen_t clilen = sizeof(cliaddr); - return ::recvfrom(m_receiverSockFd, (void *)message->getBufferPtr(), message->getBufferLen(), - 0, (struct sockaddr *)&cliaddr, &clilen); - */ - } -int MessageSocketDuplex::sendto(NetworkMessage & message, NetworkNode * node) +int MessageSocketDuplex::sendto(NetworkMessage * message, NetworkNode * node) { // CSP_LOG(NETWORK, DEBUG, "Sending Network Packet"); @@ -163,13 +112,3 @@ } -int MessageSocketDuplex::recvfrom(NetworkMessage & message, NetworkNode * node) -{ -// CSP_LOG(NETWORK, DEBUG, "Receiving Network Packet"); - ost::InetHostAddress address = node->getAddress(); - Port port = node->getPort(); - return recvfrom(message, &address, &port); -// return 0; -} - - Modified: trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp 2004-05-16 03:05:34 UTC (rev 954) @@ -27,8 +27,8 @@ #include "Networking.h" -unsigned short NetworkMessage::magicNumber = 0xFCCF; -unsigned short NetworkMessage::m_HeaderLen = 6; +unsigned short NetworkMessage::m_magicNumber = 0xFCCF; +unsigned short NetworkMessage::m_HeaderLen = 14; /** * NetworkMessage() @@ -40,62 +40,31 @@ * bytes within it to the proper values. Note also once a message object has * been initialized it should be free to be used multiple times. */ -NetworkMessage::NetworkMessage() -{ - m_Buf = NULL; - m_PayloadBuf = NULL; - m_BufferLen = 0; - m_PayloadLen = 0; - m_MessageType = 0; - m_Initialized = false; - -} - /** - * ~NetworkMessage - * - * Deletes a network message including removing the memory allocated for the buffer. - */ -NetworkMessage::~NetworkMessage() -{ - if (m_Initialized) - delete [] m_Buf; -} - -/** * initialize() * * This method initializes a NetworkMessage, Including allocating a buffer to * hold the message header and payload and also setting up the header. */ -bool NetworkMessage::initialize( unsigned short type, unsigned short payloadLen) +bool NetworkMessage::initialize( simdata::uint16 type, simdata::uint16 payloadLen, NetworkNode * orginatorNode ) { // return false if this has already been initialized. - if (m_Initialized) + // the magic number also serves to determine if initialized. + if (m_header.m_magicNumber == NetworkMessage::m_magicNumber) return false; - - m_PayloadLen = payloadLen; - m_MessageType = type; + + m_header.m_magicNumber = NetworkMessage::m_magicNumber; + m_header.m_payloadLen = payloadLen; + m_header.m_messageType = type; + m_header.m_ipaddr = orginatorNode->getAddress().getAddress().s_addr; + m_header.m_port = orginatorNode->getPort(); + m_header.m_id = orginatorNode->getId(); - m_BufferLen = m_HeaderLen + m_PayloadLen; - - m_Buf = new unsigned char[m_BufferLen]; - m_PayloadBuf = m_Buf + m_HeaderLen; - // write the header; - unsigned char * ptrBuf = m_Buf; - memcpy((void*)ptrBuf , (void*)&magicNumber, sizeof(unsigned short)); - ptrBuf += sizeof(unsigned short); - memcpy((void*)ptrBuf , (void*)&m_BufferLen, sizeof(unsigned short)); - ptrBuf += sizeof(unsigned short); - memcpy((void*)ptrBuf , (void*)&m_MessageType , sizeof(unsigned short) ); - ptrBuf += sizeof(unsigned short); - // write zeros to the payload section of the buffer. - memset(m_PayloadBuf, 0x00, m_PayloadLen); - - m_Initialized = true; + memset(m_payloadBuf, 0x00, m_header.m_payloadLen); + return true; } @@ -106,9 +75,9 @@ * Returns the number of bytes as a short that the message * buffer uses including the header and payload. */ -unsigned short NetworkMessage::getBufferLen() +unsigned short NetworkMessage::getPayloadLen() { - return m_BufferLen; + return m_header.m_payloadLen; } /** @@ -117,10 +86,10 @@ * Returns the buffer pointer so functions can copy binary * data into the underlying buffer. */ -void * NetworkMessage::getBufferPtr() -{ - return m_Buf; -} +//void * NetworkMessage::getBufferPtr() +//{ +// return m_Buf; +//} /** * getPayloadPtr() @@ -129,7 +98,7 @@ */ void * NetworkMessage::getPayloadPtr() { - return (void*)m_PayloadBuf; + return (void*)m_payloadBuf; } /** @@ -138,10 +107,7 @@ */ unsigned short NetworkMessage::getType() { - unsigned int type; - memcpy((void*)&type , (void*)(m_Buf + 2), sizeof(unsigned short)); - return type; - + return m_header.m_messageType; } /** @@ -150,12 +116,12 @@ */ bool NetworkMessage::isHeaderValid() { - unsigned short magicNumber = 0xFCCF; - unsigned short number; +// unsigned short magicNumber = 0xFCCF; +// unsigned short number; +// +// memcpy((void*)&number , (void*)&m_Buf, sizeof(unsigned short)); - memcpy((void*)&number , (void*)&m_Buf, sizeof(unsigned short)); - - return (number == magicNumber); + return (m_header.m_magicNumber == NetworkMessage::m_magicNumber); } @@ -163,16 +129,14 @@ * getHeaderLen() * returns the number of bytes as a short that the header occupies. */ -unsigned short NetworkMessage::getHeaderLen() -{ - return m_HeaderLen; -} +//unsigned short NetworkMessage::getHeaderLen() +//{ +// return m_HeaderLen; +//} -/** - * getPayloadLen() - * returns the number of bytes as a short that the payload occupies. - */ -unsigned short NetworkMessage::getPayloadLen() + +Port NetworkMessage::getOriginatorPort() { - return m_PayloadLen; + return m_header.m_port; } + Modified: trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp 2004-05-16 03:05:34 UTC (rev 954) @@ -22,29 +22,73 @@ * @author Scott Flicker (Wolverine) */ +#include <SimData/LogStream.h> +#include "Log.h" #include "Networking.h" +NetworkNode * g_node; + NetworkMessenger::NetworkMessenger() { m_messageSocketDuplex = new MessageSocketDuplex(); + m_orginatorNode = new NetworkNode(); } -NetworkMessenger::NetworkMessenger(Port port) +NetworkMessenger::NetworkMessenger(NetworkNode * orginatorNode) { - m_messageSocketDuplex = new MessageSocketDuplex(port); + m_messageSocketDuplex = new MessageSocketDuplex(orginatorNode->getPort()); + m_orginatorNode = orginatorNode; } void NetworkMessenger::queueMessage(NetworkNode * node, NetworkMessage * message) { + CSP_LOG(APP, DEBUG, "NetworkMessenger::queueMessage()"); m_messageList.push_back(message); + g_node = node; } void NetworkMessenger::sendMessages() { - + CSP_LOG(APP, DEBUG, "NetworkMessenger::sendMessages()"); + std::list<NetworkMessage*>::iterator i = m_messageList.begin(); + std::list<NetworkMessage*>::const_iterator end = m_messageList.end(); + for ( ; i != end ; ++i ) + { + m_messageSocketDuplex->sendto((*i), g_node); + } + } void NetworkMessenger::receiveMessages() { + CSP_LOG(APP, DEBUG, "NetworkMessenger::ReceiveMessage()"); } + +NetworkNode * NetworkMessenger::getOrginatorNode() +{ + return m_orginatorNode; +} + +void NetworkMessenger::setOrginatorNode(NetworkNode * orginatorNode) +{ + m_orginatorNode = orginatorNode; +} + +// don't create NetworkMessage Objects directly. Instead create a fixed length binary +// buffer then cast it to a NetworkMessage pointer. +NetworkMessage * NetworkMessenger::getMessageFromPool(int messageType, int payloadLen) +{ + simdata::uint8 * buffer = new simdata::uint8[NETWORK_PACKET_SIZE]; + NetworkMessage * message = (NetworkMessage*)buffer; + message->initialize( messageType, payloadLen, m_orginatorNode); + return message; +} + +// cast the NetworkMessage pointer back to a binary buffer then free the buffer. +void NetworkMessenger::returnMessageToPool(NetworkMessage * message) +{ + simdata::uint8 * buffer = (simdata::uint8 *)message; + delete buffer; +} + Modified: trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-16 03:05:34 UTC (rev 954) @@ -40,6 +40,13 @@ m_port = port; } +NetworkNode::NetworkNode(int node_id, const char * hostname, Port port) +{ + m_node_id = node_id; + m_addr = ost::InetHostAddress(hostname); + m_port = port; +} + void NetworkNode::setAddress(ost::InetHostAddress addr) { m_addr = addr; @@ -50,7 +57,7 @@ m_port = port; } -void NetworkNode::setId(int node_id) +void NetworkNode::setId(short node_id) { m_node_id = node_id; } @@ -65,7 +72,7 @@ return m_port; } -int NetworkNode::getId() +short NetworkNode::getId() { return m_node_id; } Modified: trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp 2004-05-16 03:05:34 UTC (rev 954) @@ -24,28 +24,28 @@ #include "Networking.h" -ObjectUpdateMessage::ObjectUpdateMessage(simdata::uint16 id, simdata::Vector3 position, simdata::Vector3 velocity) -{ - // reserve space to hold 6 doubles. - double num; - short magicNumber = 0xFCCF; - m_BufferLen = 3*sizeof(short) + sizeof(unsigned int) + 6 * sizeof(double); - m_Buf = new unsigned char [ m_BufferLen ]; - m_MessageType = 2; +//ObjectUpdateMessage::ObjectUpdateMessage(simdata::uint16 id, simdata::Vector3 position, simdata::Vector3 velocity) +//{ +// // reserve space to hold 6 doubles. +// double num; +// short magicNumber = 0xFCCF; +// m_BufferLen = 3*sizeof(short) + sizeof(unsigned int) + 6 * sizeof(double); +// m_Buf = new unsigned char [ m_BufferLen ]; +// m_MessageType = 2; - unsigned char * ptrBuf = m_Buf; - memcpy((void*)ptrBuf, (void*)&magicNumber, sizeof(short)); ptrBuf += sizeof(short); - memcpy((void*)ptrBuf, (void*)&m_BufferLen, sizeof(short)); ptrBuf += sizeof(short); - memcpy((void*)ptrBuf, (void*)&m_MessageType, sizeof(short)); ptrBuf += sizeof(short); - memcpy((void*)ptrBuf, (void*)&id, sizeof(unsigned int)); ptrBuf += sizeof(unsigned int); - num = position.x(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); ptrBuf += sizeof(double); - num = position.y(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); ptrBuf += sizeof(double); - num = position.z(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); ptrBuf += sizeof(double); - num = velocity.z(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); ptrBuf += sizeof(double); - num = velocity.y(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); ptrBuf += sizeof(double); - num = velocity.z(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); +// unsigned char * ptrBuf = m_Buf; +// memcpy((void*)ptrBuf, (void*)&magicNumber, sizeof(short)); ptrBuf += sizeof(short); +// memcpy((void*)ptrBuf, (void*)&m_BufferLen, sizeof(short)); ptrBuf += sizeof(short); +// memcpy((void*)ptrBuf, (void*)&m_MessageType, sizeof(short)); ptrBuf += sizeof(short); +// memcpy((void*)ptrBuf, (void*)&id, sizeof(unsigned int)); ptrBuf += sizeof(unsigned int); +// num = position.x(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); ptrBuf += sizeof(double); +// num = position.y(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); ptrBuf += sizeof(double); +// num = position.z(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); ptrBuf += sizeof(double); +// num = velocity.z(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); ptrBuf += sizeof(double); +// num = velocity.y(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); ptrBuf += sizeof(double); +// num = velocity.z(); memcpy((void*)ptrBuf, (void*)&num, sizeof(double)); -} +//} Modified: trunk/CSP/CSPSim/Source/ServerNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-12 21:50:20 UTC (rev 953) +++ trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-16 03:05:34 UTC (rev 954) @@ -14,34 +14,32 @@ int ServerNode::run() { printf("Network test client starting up...\n"); - Port clientPort = 20010; - Port serverPort = 20011; - MessageSocketDuplex * socket = new MessageSocketDuplex(serverPort); - NetworkMessage message; - message.initialize(1, 100); - memset((void*)message.getPayloadPtr(), 0, 100); + Port remotePort = 3150; + Port localPort = 3160; + unsigned short messageLen = 512; + NetworkNode * remoteNode; + NetworkNode localNode(1, "localhost", localPort); + + MessageSocketDuplex * socket = new MessageSocketDuplex(localPort); + NetworkMessage * message=NULL; while(1) { - int numreceived = socket->recvfrom(message, NULL, &clientPort); - char * payloadPtr = (char*)message.getPayloadPtr(); - printf("Received Mesage From Client: %s\n", payloadPtr); - memset((void*)message.getPayloadPtr(), 0, 100); - if (numreceived == 0) + int numreceived = socket->recvfrom(&message); + if (numreceived > 0) { -// ::sleep(5); + Port port = message->getOriginatorPort(); + printf("Received Data From Client:\n"); + printf("Client port: %d\n", port); } + else + { +#ifndef WIN32 + ::sleep(1); +#endif + } } return 0; } -#ifdef CSP_STANDALONE -int main(int argc, char * argv[]) -{ - ServerNode node; - return node.run(); -} - -#endif - |
From: <sv...@ww...> - 2004-05-12 21:50:31
|
Author: delta Date: 2004-05-12 14:50:20 -0700 (Wed, 12 May 2004) New Revision: 953 Modified: trunk/CSP/CSPSim/CHANGES.current Log: Removed ComputeTransformCallback. Modified: trunk/CSP/CSPSim/CHANGES.current =================================================================== --- trunk/CSP/CSPSim/CHANGES.current 2004-05-12 21:46:35 UTC (rev 952) +++ trunk/CSP/CSPSim/CHANGES.current 2004-05-12 21:50:20 UTC (rev 953) @@ -1,6 +1,10 @@ Version 0.4.0 (in progress) =========================== +2004-05-12: delta + * Removed obsolete ComputeTransformCallback in Source/VirtualScene.cpp + and replaced it by an osg::Transform (lunalog's post). + 2004-05-09 * Minor cleanings in Include/CSPSim.h. |
From: <sv...@ww...> - 2004-05-12 21:46:42
|
Author: delta Date: 2004-05-12 14:46:35 -0700 (Wed, 12 May 2004) New Revision: 952 Modified: trunk/CSP/CSPSim/Source/VirtualScene.cpp Log: Removed soon obsolete ComputeTransformCallback and replaced it by Transform. Modified: trunk/CSP/CSPSim/Source/VirtualScene.cpp =================================================================== --- trunk/CSP/CSPSim/Source/VirtualScene.cpp 2004-05-10 18:42:10 UTC (rev 951) +++ trunk/CSP/CSPSim/Source/VirtualScene.cpp 2004-05-12 21:46:35 UTC (rev 952) @@ -120,10 +120,10 @@ * * @author unknown */ -struct MoveEarthySkyWithEyePointCallback : public osg::Transform::ComputeTransformCallback +struct MoveEarthySkyWithEyePointCallback : public osg::Transform { /** Get the transformation matrix which moves from local coords to world coords.*/ - virtual bool computeLocalToWorldMatrix(osg::Matrix& matrix,const osg::Transform*, osg::NodeVisitor* nv) const { + virtual bool computeLocalToWorldMatrix(osg::Matrix& matrix,osg::NodeVisitor* nv) const { osgUtil::CullVisitor* cv = dynamic_cast<osgUtil::CullVisitor*>(nv); if (cv) { osg::Vec3 eyePointLocal = cv->getEyeLocal(); @@ -134,7 +134,7 @@ } /** Get the transformation matrix which moves from world coords to local coords.*/ - virtual bool computeWorldToLocalMatrix(osg::Matrix& matrix,const osg::Transform*, osg::NodeVisitor* nv) const { + virtual bool computeWorldToLocalMatrix(osg::Matrix& matrix,osg::NodeVisitor* nv) const { osgUtil::CullVisitor* cv = dynamic_cast<osgUtil::CullVisitor*>(nv); if (cv) { osg::Vec3 eyePointLocal = cv->getEyeLocal(); @@ -236,7 +236,7 @@ // set the compute transform callback to do all the work of // determining the transform according to the current eye point. - // m_EyeTransform->setComputeTransformCallback(new MoveEarthySkyWithEyePointCallback); + // m_EyeTransform = new MoveEarthySkyWithEyePointCallback; m_EyeTransform->addChild(m_Sky.get()); // bin number -2 so drawn first. m_EyeTransform->addChild(m_SkyLights.get()); |
From: <sv...@ww...> - 2004-05-10 18:42:17
|
Author: delta Date: 2004-05-10 11:42:10 -0700 (Mon, 10 May 2004) New Revision: 951 Modified: trunk/CSP/CSPChunkLod/include/osgChunkLod/MultiTextureDetails Log: Added #include <iostream> (suggested by lunalog). Modified: trunk/CSP/CSPChunkLod/include/osgChunkLod/MultiTextureDetails =================================================================== --- trunk/CSP/CSPChunkLod/include/osgChunkLod/MultiTextureDetails 2004-05-09 11:08:16 UTC (rev 950) +++ trunk/CSP/CSPChunkLod/include/osgChunkLod/MultiTextureDetails 2004-05-10 18:42:10 UTC (rev 951) @@ -22,13 +22,16 @@ #ifndef _OSGMULTITEXTUREDETAILS_H_ #define _OSGMULTITEXTUREDETAILS_H_ +#include <iostream> +#include <string> + #include <osg/Texture2D> #include <osg/Image> #include <osg/State> #include <osg/StateSet> #include <osgDB/ReadFile> -#include <string> + #ifndef GL_MAX_TEXTURE_UNITS_ARB #define GL_MAX_TEXTURE_UNITS_ARB 0x84E2 #endif |
From: <sv...@ww...> - 2004-05-10 04:35:53
|
Author: delta Date: 2004-05-09 04:08:16 -0700 (Sun, 09 May 2004) New Revision: 950 Modified: trunk/CSP/CSPSim/CHANGES.current trunk/CSP/CSPSim/Data/CSPSim.ini trunk/CSP/CSPSim/Include/CSPSim.h trunk/CSP/CSPSim/Source/CSPSim.cpp trunk/CSP/CSPSim/Source/FlightModel.cpp trunk/CSP/CSPSim/Source/ObjectModel.cpp trunk/CSP/CSPSim/Source/Sky.cpp trunk/CSP/CSPSim/Source/VirtualScene.cpp trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj Log: Try for a temporary fix on ATI hardware. Modified: trunk/CSP/CSPSim/CHANGES.current =================================================================== --- trunk/CSP/CSPSim/CHANGES.current 2004-05-08 16:25:45 UTC (rev 949) +++ trunk/CSP/CSPSim/CHANGES.current 2004-05-09 11:08:16 UTC (rev 950) @@ -1,8 +1,21 @@ Version 0.4.0 (in progress) =========================== +2004-05-09 + * Minor cleanings in Include/CSPSim.h. + + * Commented out glFinish() in Source/VirtualScene.cpp which can be + responsible of performance hits. Must be tested. + + * Decreased Radius of the skydome (Source/Sky.cpp) to provide a quick + and dirty hack of the "black sky" symptom on ATI hardware. + + * Minor changes to VisualStudio/CSPSimDLL.vcproj. + + * Changed the date in Data/CSPSim.ini. + 2004-05-08: Wolverine - * more updates to networking. Including changes so both windows and unix + * More updates to networking. Including changes so both windows and unix can compile. 2004-05-02: wolverine Modified: trunk/CSP/CSPSim/Data/CSPSim.ini =================================================================== --- trunk/CSP/CSPSim/Data/CSPSim.ini 2004-05-08 16:25:45 UTC (rev 949) +++ trunk/CSP/CSPSim/Data/CSPSim.ini 2004-05-09 11:08:16 UTC (rev 950) @@ -1,7 +1,7 @@ ; CSP configuration settings [Debug] -LoggingLevel = 0 +LoggingLevel = 0 Battlefield = 1 Demeter = true @@ -33,20 +33,18 @@ MudBubbleRadius = 40000 AirBubbleRadius = 80000 VisualRadius = 40000 -Date = 2000-01-01 00:00:00.0 +Date = 2004-05-09 12:00:00 [Networking] LocalMessagePort = 3150 LocalMessageHost = 127.0.0.1 RemoteMessagePort = 3160 RemoteMessageHost = 127.0.0.1 -Theater = sim:theater.balkan -Date = 2003-05-15 07:19:30 ; balkan theater (demeter) +Theater = sim:theater.balkan + ; northern CA theater (chunkedLod) ;Theater = sim:theater.nca ;Date = 2003-05-15 14:19:30 - - Modified: trunk/CSP/CSPSim/Include/CSPSim.h =================================================================== --- trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-08 16:25:45 UTC (rev 949) +++ trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-09 11:08:16 UTC (rev 950) @@ -44,10 +44,6 @@ #undef min #undef max - -// Uncomment this line if you are using OSG version 0.9.4 or older. -//#define CSP_OSG_094 - struct SDL_Surface; class PyShell; @@ -186,10 +182,7 @@ NetworkMessenger * m_NetworkMessenger; NetworkNode * m_RemoteServerNode; -#ifndef CSP_OSG_094 osg::ref_ptr<Producer::RenderSurface> m_RenderSurface; -#endif - }; #endif // __CSPSIM_H__ Modified: trunk/CSP/CSPSim/Source/CSPSim.cpp =================================================================== --- trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-08 16:25:45 UTC (rev 949) +++ trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-09 11:08:16 UTC (rev 950) @@ -236,13 +236,6 @@ simdata::ospath::addpath(search_path, font_path); osgDB::setDataFilePathList(search_path); - // we don't need this on Linux since libs are usually - // installed in /usr/local/lib/osgPlugins or /usr/lib/osgPlugins. - // OSG can find itself the plugins. -//#ifdef _WIN32 -// osgDB::setLibraryFilePathList("."); -//#endif - // open the primary data archive std::string cache_path = getCachePath(); std::string archive_file = simdata::ospath::join(cache_path, "sim.dar"); Modified: trunk/CSP/CSPSim/Source/FlightModel.cpp =================================================================== --- trunk/CSP/CSPSim/Source/FlightModel.cpp 2004-05-08 16:25:45 UTC (rev 949) +++ trunk/CSP/CSPSim/Source/FlightModel.cpp 2004-05-09 11:08:16 UTC (rev 950) @@ -32,8 +32,6 @@ #define NOMINMAX #endif -#include <algorithm> - #include "CSPSim.h" #include "Log.h" #include "FlightModel.h" @@ -207,4 +205,3 @@ - Modified: trunk/CSP/CSPSim/Source/ObjectModel.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ObjectModel.cpp 2004-05-08 16:25:45 UTC (rev 949) +++ trunk/CSP/CSPSim/Source/ObjectModel.cpp 2004-05-09 11:08:16 UTC (rev 950) @@ -24,8 +24,6 @@ #include <vector> -#include <osg/ShapeDrawable> - #include "ObjectModel.h" #include "Animation.h" #include "Log.h" @@ -38,15 +36,17 @@ #include <osgUtil/SmoothingVisitor> #include <osgUtil/DisplayListVisitor> #include <osgUtil/Optimizer> +#include <osg/CullFace> #include <osg/NodeVisitor> #include <osg/Geometry> #include <osg/Texture> #include <osg/Geode> #include <osg/Depth> +#include <osg/ShapeDrawable> #include <osgText/Text> #include <osg/PolygonOffset> -#include <osg/CullFace> + #include <SimData/FileUtility.h> #include <SimData/osg.h> Modified: trunk/CSP/CSPSim/Source/Sky.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Sky.cpp 2004-05-08 16:25:45 UTC (rev 949) +++ trunk/CSP/CSPSim/Source/Sky.cpp 2004-05-09 11:08:16 UTC (rev 950) @@ -1157,7 +1157,8 @@ int i, j; float x, y, z; float alpha, theta; - float radius = 1100000.0f; + //float radius = 1100000.0f; + float radius = 64000.0f; m_Horizon = new FalseHorizon; #ifdef TEXDOME m_Horizon->init(192); Modified: trunk/CSP/CSPSim/Source/VirtualScene.cpp =================================================================== --- trunk/CSP/CSPSim/Source/VirtualScene.cpp 2004-05-08 16:25:45 UTC (rev 949) +++ trunk/CSP/CSPSim/Source/VirtualScene.cpp 2004-05-09 11:08:16 UTC (rev 950) @@ -370,7 +370,7 @@ m_NearView->draw(); } - glFinish(); + //glFinish(); if (m_Terrain.valid()) m_Terrain->endDraw(); Modified: trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj =================================================================== --- trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj 2004-05-08 16:25:45 UTC (rev 949) +++ trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj 2004-05-09 11:08:16 UTC (rev 950) @@ -44,7 +44,7 @@ <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386" - AdditionalDependencies="ws2_32.lib OpenThreadsWin32d.lib osgChunkLodd.lib osgFXd.lib sigc-1.2d.lib producerd.lib opengl32.lib SDL.lib osgDBd.lib DemeterVisualC6d.lib osgTextd.lib osgUtild.lib osgParticled.lib osgd.lib _cSimData.lib ccgnu2.lib ccext2.lib" + AdditionalDependencies="OpenThreadsWin32d.lib osgChunkLodd.lib osgFXd.lib sigc-1.2d.lib producerd.lib opengl32.lib SDL.lib osgDBd.lib DemeterVisualC6d.lib osgTextd.lib osgUtild.lib osgParticled.lib osgd.lib _cSimData.lib ccgnu2.lib ccext2.lib" OutputFile="../../Bin/_cCSP.dll" LinkIncremental="2" SuppressStartupBanner="TRUE" @@ -121,7 +121,7 @@ <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386" - AdditionalDependencies="ws2_32.lib osgFX.lib osgChunkLod.lib producer.lib osgText.lib DemeterVisualC6.lib opengl32.lib SDL.lib _cSimData.lib osgParticle.lib osgUtil.lib osgDB.lib osg.lib sigc-1.2.lib OpenThreadsWin32.lib ccgnu2.lib ccext2.lib" + AdditionalDependencies="ws2_32.lib ccgnu2.lib osgFX.lib osgChunkLod.lib producer.lib osgText.lib DemeterVisualC6.lib opengl32.lib SDL.lib _cSimData.lib osgParticle.lib osgUtil.lib osgDB.lib osg.lib sigc-1.2.lib OpenThreadsWin32.lib ccext2.lib" OutputFile="../../Bin/_cCSP.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" |
From: <sv...@ww...> - 2004-05-10 04:35:53
|
Author: wolverine Date: 2004-05-08 09:25:45 -0700 (Sat, 08 May 2004) New Revision: 949 Modified: trunk/CSP/CSPSim/Include/CSPSim.h trunk/CSP/CSPSim/Include/Networking.h trunk/CSP/CSPSim/Source/CSPSim.cpp trunk/CSP/CSPSim/Source/ClientNode.cpp trunk/CSP/CSPSim/Source/DynamicObject.cpp trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp trunk/CSP/CSPSim/Source/ServerNode.cpp Log: Cleaned up some includes Modified: trunk/CSP/CSPSim/Include/CSPSim.h =================================================================== --- trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-08 16:25:45 UTC (rev 949) @@ -29,6 +29,7 @@ #define _WINSOCKAPI_ + #include <SimData/Ref.h> #include <SimData/Date.h> #include <SimData/DataManager.h> Modified: trunk/CSP/CSPSim/Include/Networking.h =================================================================== --- trunk/CSP/CSPSim/Include/Networking.h 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Include/Networking.h 2004-05-08 16:25:45 UTC (rev 949) @@ -25,6 +25,12 @@ #ifndef __NETWORKING_H__ #define __NETWORKING_H__ +// use this to fix compile problems with mulitple includes of windows and winsock headers. +#define _WINSOCKAPI_ + +#include <cc++/network.h> + + #include <sys/types.h> #include <list> Modified: trunk/CSP/CSPSim/Source/CSPSim.cpp =================================================================== --- trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -51,7 +51,6 @@ #include "ConsoleCommands.h" #include "Profile.h" -#include <cc++/network.h> #include "Networking.h" #include <SimData/Types.h> Modified: trunk/CSP/CSPSim/Source/ClientNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ClientNode.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/ClientNode.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -1,7 +1,6 @@ -#include <cc++/network.h> #include "Networking.h" #include <stdio.h> #include <stdlib.h> Modified: trunk/CSP/CSPSim/Source/DynamicObject.cpp =================================================================== --- trunk/CSP/CSPSim/Source/DynamicObject.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/DynamicObject.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -22,6 +22,7 @@ * **/ + #include <DynamicObject.h> #include <Controller.h> #include <PhysicsModel.h> @@ -34,7 +35,6 @@ #include <SimData/Quat.h> -#include <cc++/network.h> #include "Networking.h" using bus::Kinetics; Modified: trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -21,7 +21,6 @@ * @file NetworkSocket.cpp: * @author Scott Flicker (Wolverine) */ -#include <cc++/network.h> #include "Networking.h" #include "Log.h" Modified: trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -24,7 +24,6 @@ * This class encapsulates a node in the simulation network. */ -#include <cc++/network.h> #include "Networking.h" NetworkAddress::NetworkAddress() Modified: trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -23,7 +23,6 @@ * * Broadcasts network messages */ -#include <cc++/network.h> #include "Networking.h" NetworkBroadcaster::NetworkBroadcaster() Modified: trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -24,7 +24,6 @@ * Listens for network messages */ -#include <cc++/network.h> #include "Networking.h" Modified: trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -25,7 +25,6 @@ * Currently contains for header and buffer routines */ -#include <cc++/network.h> #include "Networking.h" unsigned short NetworkMessage::magicNumber = 0xFCCF; Modified: trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -22,7 +22,6 @@ * @author Scott Flicker (Wolverine) */ -#include <cc++/network.h> #include "Networking.h" NetworkMessenger::NetworkMessenger() Modified: trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -24,7 +24,6 @@ * This class encapsulates a node in the simulation network. */ -#include <cc++/network.h> #include "Networking.h" NetworkNode::NetworkNode() Modified: trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -22,7 +22,6 @@ * @author Scott Flicker (Wolverine) */ -#include <cc++/network.h> #include "Networking.h" NetworkSocket::NetworkSocket() Modified: trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -22,7 +22,6 @@ * @author Scott Flicker (Wolverine) */ -#include <cc++/network.h> #include "Networking.h" ObjectUpdateMessage::ObjectUpdateMessage(simdata::uint16 id, simdata::Vector3 position, simdata::Vector3 velocity) Modified: trunk/CSP/CSPSim/Source/ServerNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-08 14:37:10 UTC (rev 948) +++ trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-08 16:25:45 UTC (rev 949) @@ -1,4 +1,3 @@ -#include <cc++/network.h> #include "Networking.h" #include "ServerNode.h" #include <stdio.h> |
From: <sv...@ww...> - 2004-05-10 04:35:53
|
Author: wolverine Date: 2004-05-08 07:37:10 -0700 (Sat, 08 May 2004) New Revision: 948 Modified: trunk/CSP/CSPSim/CHANGES.current trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj Log: change log update Modified: trunk/CSP/CSPSim/CHANGES.current =================================================================== --- trunk/CSP/CSPSim/CHANGES.current 2004-05-08 14:34:55 UTC (rev 947) +++ trunk/CSP/CSPSim/CHANGES.current 2004-05-08 14:37:10 UTC (rev 948) @@ -2,7 +2,8 @@ =========================== 2004-05-08: Wolverine - * more updates to networking. + * more updates to networking. Including changes so both windows and unix + can compile. 2004-05-02: wolverine * Updates to the networking to use commonc++, and export a python module. Modified: trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj =================================================================== --- trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj 2004-05-08 14:34:55 UTC (rev 947) +++ trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj 2004-05-08 14:37:10 UTC (rev 948) @@ -44,7 +44,7 @@ <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386" - AdditionalDependencies="ws2_32.lib OpenThreadsWin32d.lib osgChunkLodd.lib osgFXd.lib sigc-1.2d.lib producerd.lib opengl32.lib SDL.lib osgDBd.lib DemeterVisualC6d.lib osgTextd.lib osgUtild.lib osgParticled.lib osgd.lib _cSimData.lib" + AdditionalDependencies="ws2_32.lib OpenThreadsWin32d.lib osgChunkLodd.lib osgFXd.lib sigc-1.2d.lib producerd.lib opengl32.lib SDL.lib osgDBd.lib DemeterVisualC6d.lib osgTextd.lib osgUtild.lib osgParticled.lib osgd.lib _cSimData.lib ccgnu2.lib ccext2.lib" OutputFile="../../Bin/_cCSP.dll" LinkIncremental="2" SuppressStartupBanner="TRUE" @@ -121,7 +121,7 @@ <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386" - AdditionalDependencies="ws2_32.lib osgFX.lib osgChunkLod.lib producer.lib osgText.lib DemeterVisualC6.lib opengl32.lib SDL.lib _cSimData.lib osgParticle.lib osgUtil.lib osgDB.lib osg.lib sigc-1.2.lib OpenThreadsWin32.lib" + AdditionalDependencies="ws2_32.lib osgFX.lib osgChunkLod.lib producer.lib osgText.lib DemeterVisualC6.lib opengl32.lib SDL.lib _cSimData.lib osgParticle.lib osgUtil.lib osgDB.lib osg.lib sigc-1.2.lib OpenThreadsWin32.lib ccgnu2.lib ccext2.lib" OutputFile="../../Bin/_cCSP.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" @@ -210,6 +210,9 @@ RelativePath="..\..\Source\ChunkLodTerrain.cpp"> </File> <File + RelativePath="..\..\Source\ClientNode.cpp"> + </File> + <File RelativePath="..\..\Source\Collision.cpp"> </File> <File @@ -297,6 +300,9 @@ RelativePath="..\..\Source\ScreenInfoManager.cpp"> </File> <File + RelativePath="..\..\Source\ServerNode.cpp"> + </File> + <File RelativePath="..\..\Source\SimObject.cpp"> </File> <File @@ -411,12 +417,25 @@ </File> <File RelativePath="..\..\Source\Views\View.cpp"> + <FileConfiguration + Name="Debug|Win32"> + <Tool + Name="VCCLCompilerTool" + GeneratePreprocessedFile="0" + ExpandAttributedSource="TRUE"/> + </FileConfiguration> </File> </Filter> <Filter Name="Networking" Filter=""> <File + RelativePath="..\..\Source\Networking\MessageSocketDuplex.cpp"> + </File> + <File + RelativePath="..\..\Source\Networking\NetworkAddress.cpp"> + </File> + <File RelativePath="..\..\Source\Networking\NetworkBroadcaster.cpp"> </File> <File @@ -473,6 +492,9 @@ RelativePath="..\..\Include\ChunkLodTerrain.h"> </File> <File + RelativePath="..\..\Include\ClientNode.h"> + </File> + <File RelativePath="..\..\Include\Collision.h"> </File> <File @@ -578,6 +600,9 @@ RelativePath="..\..\Include\ScreenInfoManager.h"> </File> <File + RelativePath="..\..\Include\ServerNode.h"> + </File> + <File RelativePath="..\..\Include\SimObject.h"> </File> <File |
From: <sv...@ww...> - 2004-05-10 04:35:53
|
Author: wolverine Date: 2004-05-08 07:34:55 -0700 (Sat, 08 May 2004) New Revision: 947 Modified: trunk/CSP/CSPSim/Source/CSPSim.cpp trunk/CSP/CSPSim/Source/DynamicObject.cpp trunk/CSP/CSPSim/Source/ServerNode.cpp Log: removed a timer Modified: trunk/CSP/CSPSim/Source/CSPSim.cpp =================================================================== --- trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-08 14:32:32 UTC (rev 946) +++ trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-08 14:34:55 UTC (rev 947) @@ -22,6 +22,8 @@ * */ + + #ifdef _DEBUG #undef _DEBUG #include <Python.h> Modified: trunk/CSP/CSPSim/Source/DynamicObject.cpp =================================================================== --- trunk/CSP/CSPSim/Source/DynamicObject.cpp 2004-05-08 14:32:32 UTC (rev 946) +++ trunk/CSP/CSPSim/Source/DynamicObject.cpp 2004-05-08 14:34:55 UTC (rev 947) @@ -22,8 +22,6 @@ * **/ -#include <cc++/network.h> -#include "Networking.h" #include <DynamicObject.h> #include <Controller.h> #include <PhysicsModel.h> @@ -36,6 +34,8 @@ #include <SimData/Quat.h> +#include <cc++/network.h> +#include "Networking.h" using bus::Kinetics; Modified: trunk/CSP/CSPSim/Source/ServerNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-08 14:32:32 UTC (rev 946) +++ trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-08 14:34:55 UTC (rev 947) @@ -3,7 +3,9 @@ #include "ServerNode.h" #include <stdio.h> #include <stdlib.h> +#ifndef WIN32 #include <unistd.h> +#endif ServerNode::ServerNode() { @@ -27,7 +29,7 @@ memset((void*)message.getPayloadPtr(), 0, 100); if (numreceived == 0) { - ::sleep(5); +// ::sleep(5); } } |
From: <sv...@ww...> - 2004-05-10 04:35:53
|
Author: wolverine Date: 2004-05-08 05:28:22 -0700 (Sat, 08 May 2004) New Revision: 943 Modified: trunk/CSP/CSPSim/CHANGES.current trunk/CSP/CSPSim/Data/CSPSim.ini trunk/CSP/CSPSim/Include/CSPSim.h trunk/CSP/CSPSim/Include/ClientNode.h trunk/CSP/CSPSim/Include/DynamicObject.h trunk/CSP/CSPSim/Include/Networking.h trunk/CSP/CSPSim/Include/ServerNode.h trunk/CSP/CSPSim/Source/CSPSim.cpp trunk/CSP/CSPSim/Source/ClientNode.cpp trunk/CSP/CSPSim/Source/DynamicObject.cpp trunk/CSP/CSPSim/Source/Makefile.in trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp trunk/CSP/CSPSim/Source/ServerNode.cpp Log: Networking changes Modified: trunk/CSP/CSPSim/CHANGES.current =================================================================== --- trunk/CSP/CSPSim/CHANGES.current 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/CHANGES.current 2004-05-08 12:28:22 UTC (rev 943) @@ -1,5 +1,9 @@ Version 0.4.0 (in progress) =========================== + +2004-05-08: Wolverine + * more updates to networking. + 2004-05-02: wolverine * Updates to the networking to use commonc++, and export a python module. Modified: trunk/CSP/CSPSim/Data/CSPSim.ini =================================================================== --- trunk/CSP/CSPSim/Data/CSPSim.ini 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Data/CSPSim.ini 2004-05-08 12:28:22 UTC (rev 943) @@ -33,11 +33,18 @@ MudBubbleRadius = 40000 AirBubbleRadius = 80000 VisualRadius = 40000 +Date = 2000-01-01 00:00:00.0 -; balkan theater (demeter) +[Networking] +LocalMessagePort = 3150 +LocalMessageHost = 127.0.0.1 +RemoteMessagePort = 3160 +RemoteMessageHost = 127.0.0.1 Theater = sim:theater.balkan Date = 2003-05-15 07:19:30 +; balkan theater (demeter) + ; northern CA theater (chunkedLod) ;Theater = sim:theater.nca ;Date = 2003-05-15 14:19:30 Modified: trunk/CSP/CSPSim/Include/CSPSim.h =================================================================== --- trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-08 12:28:22 UTC (rev 943) @@ -59,8 +59,9 @@ class GameScreen; class EventMapIndex; class PyConsole; -class NetworkBroadcaster; +class NetworkMessenger; +class NetworkNode; void fillerup(void *unused, unsigned char *stream, int len); @@ -180,7 +181,8 @@ /** * The network layer */ - NetworkBroadcaster * m_NetworkBroadcaster; + NetworkMessenger * m_NetworkMessenger; + NetworkNode * m_RemoteServerNode; #ifndef CSP_OSG_094 osg::ref_ptr<Producer::RenderSurface> m_RenderSurface; Modified: trunk/CSP/CSPSim/Include/ClientNode.h =================================================================== --- trunk/CSP/CSPSim/Include/ClientNode.h 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Include/ClientNode.h 2004-05-08 12:28:22 UTC (rev 943) @@ -1,8 +1,6 @@ #ifndef __CLIENTNODE_H__ #define __CLIENTNODE_H__ -#include "Networking.h" - class ClientNode { Modified: trunk/CSP/CSPSim/Include/DynamicObject.h =================================================================== --- trunk/CSP/CSPSim/Include/DynamicObject.h 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Include/DynamicObject.h 2004-05-08 12:28:22 UTC (rev 943) @@ -34,9 +34,8 @@ #include "DataRecorder.h" #include "SystemsModel.h" -#include "Networking.h" +class NetworkMessage; - namespace osgParticle { class Geode; class ParticleSystemUpdater; Modified: trunk/CSP/CSPSim/Include/Networking.h =================================================================== --- trunk/CSP/CSPSim/Include/Networking.h 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Include/Networking.h 2004-05-08 12:28:22 UTC (rev 943) @@ -31,15 +31,8 @@ #include <assert.h> #include <errno.h> #include <sys/types.h> +#include <list> -#include <cc++/common.h> - -#ifndef _MSC_VER -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#endif - #include <SimData/Vector3.h> #include <SimData/String.h> #include <SimData/Uniform.h> @@ -98,26 +91,28 @@ }; -class NetworkAddress + +class NetworkNode { - private: - struct in_addr m_addr; - simdata::String m_name; - simdata::String m_IPAddress; + private: + uint32 m_node_id; + ost::InetHostAddress m_addr; + Port m_port; - public: - NetworkAddress(); - NetworkAddress(const simdata::String name); - NetworkAddress(NetworkAddress & addr); + public: + NetworkNode(); + NetworkNode(int node_id, ost::InetHostAddress addr, Port port); + + void setAddress(ost::InetHostAddress addr); + void setPort(Port port); + void setId(int node_id); + + int getId(); + Port getPort(); + ost::InetHostAddress getAddress(); - simdata::String getNetworkName(); - simdata::String getNetworkIP(); - void setByNetworkName(const simdata::String & name); - void setByNetworkIP(const simdata::String & address); - }; - class MessageSocketDuplex { ost::UDPSocket * m_UDPReceiverSocket; @@ -148,19 +143,30 @@ int sendto(NetworkMessage & message, ost::InetHostAddress * remoteAddress, Port * remotePort); int recvfrom(NetworkMessage & message, ost::InetHostAddress * remoteAddress=NULL, Port * remotePort=NULL); + int sendto(NetworkMessage & message, NetworkNode * node); + int recvfrom(NetworkMessage & message, NetworkNode * node); + ost::InetAddress * getReciverAddress() { return m_receiverAddr; } Port getReceiverPort() { return m_receiverPort; } }; + class NetworkMessenger { private: - MessageSocketDuplex m_messageSocketDuplex; + MessageSocketDuplex * m_messageSocketDuplex; + std::list<NetworkMessage*> m_messageList; public: NetworkMessenger(); + NetworkMessenger(Port port); + + void queueMessage(NetworkNode * node, NetworkMessage * message); + void sendMessages(); + void receiveMessages(); + }; class NetworkBroadcaster @@ -179,11 +185,6 @@ }; -class NetworkNode -{ - public: - NetworkNode(); -}; class NetworkSocket { @@ -193,5 +194,25 @@ }; +class NetworkAddress +{ + private: + struct in_addr m_addr; + simdata::String m_name; + simdata::String m_IPAddress; + + public: + NetworkAddress(); + NetworkAddress(const simdata::String name); + NetworkAddress(NetworkAddress & addr); + + simdata::String getNetworkName(); + simdata::String getNetworkIP(); + void setByNetworkName(const simdata::String & name); + void setByNetworkIP(const simdata::String & address); + +}; + + #endif Modified: trunk/CSP/CSPSim/Include/ServerNode.h =================================================================== --- trunk/CSP/CSPSim/Include/ServerNode.h 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Include/ServerNode.h 2004-05-08 12:28:22 UTC (rev 943) @@ -1,5 +1,5 @@ -#include "Networking.h" + class ServerNode { Modified: trunk/CSP/CSPSim/Source/CSPSim.cpp =================================================================== --- trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/CSPSim.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -48,8 +48,10 @@ #include "Theater.h" #include "ConsoleCommands.h" #include "Profile.h" + +#include <cc++/network.h> #include "Networking.h" - + #include <SimData/Types.h> #include <SimData/ExceptionBase.h> #include <SimData/DataArchive.h> @@ -147,7 +149,7 @@ m_Shell = new PyShell(); - m_NetworkBroadcaster = NULL; + m_NetworkMessenger = NULL; } @@ -412,7 +414,9 @@ m_GameScreen->onInit(); // create the networking layer - m_NetworkBroadcaster = new NetworkBroadcaster; + int localMessagePort = g_Config.getInt("Networking", "LocalMessagePort", 10000, true); + CSP_LOG(APP, DEBUG, "init() - Creating Message listener on port: " << localMessagePort); + m_NetworkMessenger = new NetworkMessenger(localMessagePort); #if 0 // set the Main Menu then start the main loop @@ -705,19 +709,21 @@ // call networking layer. // TODO the code below tests the networking section. Later it probably needs to // be moved elsewhere. Currently commenting out so we can move to subversion. -// CSP_LOG(APP, DEBUG, "CSPSim::run... beginning network updates"); + CSP_LOG(APP, DEBUG, "CSPSim::run... beginning network updates"); + + simdata::Ref<DynamicObject> dynamicObject = (simdata::Ref<DynamicObject>)m_ActiveObject; + NetworkMessage * message = dynamicObject->getUpdateMessage(); -// simdata::Ref<DynamicObject> dynamicObject = (simdata::Ref<DynamicObject>)m_ActiveObject; -// NetworkMessage * message = dynamicObject->getUpdateMessage(); + m_NetworkMessenger->queueMessage(m_RemoteServerNode, message); + m_NetworkMessenger->sendMessages(); + m_NetworkMessenger->receiveMessages(); -// m_NetworkBroadcaster->sendMessage(1, message ); - // dynamicObject->putUpdateMessage( message ); -// CSP_LOG(APP, DEBUG, "CSPSim::run... finished network updates"); + CSP_LOG(APP, DEBUG, "CSPSim::run... finished network updates"); // this may not be necessary. especially if a memory pool of messages objects is used. -// delete message; +// delete message; } Modified: trunk/CSP/CSPSim/Source/ClientNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ClientNode.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/ClientNode.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -1,11 +1,11 @@ -#include "ClientNode.h" -#include <cc++/common.h> +#include <cc++/network.h> #include "Networking.h" #include <stdio.h> #include <stdlib.h> +#include "ClientNode.h" ClientNode::ClientNode() { Modified: trunk/CSP/CSPSim/Source/DynamicObject.cpp =================================================================== --- trunk/CSP/CSPSim/Source/DynamicObject.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/DynamicObject.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -22,7 +22,8 @@ * **/ - +#include <cc++/network.h> +#include "Networking.h" #include <DynamicObject.h> #include <Controller.h> #include <PhysicsModel.h> Modified: trunk/CSP/CSPSim/Source/Makefile.in =================================================================== --- trunk/CSP/CSPSim/Source/Makefile.in 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/Makefile.in 2004-05-08 12:28:22 UTC (rev 943) @@ -182,13 +182,13 @@ $(CXX) -c $(SWCXXF) $(@:.o=.cpp) ClientNode_StandAlone.o : ClientNode.cpp - $(CXX) -c $(CFLAGS) -DCSP_STANDALONE -o ClientNode_StandAlone.o ClientNode.cpp + $(CXX) -c $(CFLAGS) $(INCLUDE) -DCSP_STANDALONE -o ClientNode_StandAlone.o ClientNode.cpp ClientNode: $(NETWORK_OBJECTS) ClientNode_StandAlone.o $(CXX) -L/usr/local/lib -lccgnu2 -ldl -lpthread -o$(BIN)/$@ $(NETWORK_OBJECTS) ClientNode_StandAlone.o ServerNode_StandAlone.o : ServerNode.cpp - $(CXX) -c $(CFLAGS) -DCSP_STANDALONE -o ServerNode_StandAlone.o ServerNode.cpp + $(CXX) -c $(CFLAGS) $(INCLUDE) -DCSP_STANDALONE -o ServerNode_StandAlone.o ServerNode.cpp ServerNode: $(NETWORK_OBJECTS) ServerNode_StandAlone.o $(CXX) -L/usr/local/lib -lccgnu2 -ldl -lpthread -o$(BIN)/$@ $(NETWORK_OBJECTS) ServerNode_StandAlone.o Modified: trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -21,11 +21,9 @@ * @file NetworkSocket.cpp: * @author Scott Flicker (Wolverine) */ -#if _MSC_VER -#include <WinSock2.h> -#endif - +#include <cc++/network.h> #include "Networking.h" +#include "Log.h" MessageSocketDuplex::MessageSocketDuplex() { @@ -81,7 +79,7 @@ int MessageSocketDuplex::sendto(NetworkMessage & message, ost::InetHostAddress * remoteAddress, Port * remotePort) { - printf("Sending Network Packet\n"); +// CSP_LOG(NETWORK, DEBUG, "Sending Network Packet"); m_UDPSenderSocket->setPeer(*remoteAddress, *remotePort); @@ -111,7 +109,7 @@ int MessageSocketDuplex::recvfrom(NetworkMessage & message, ost::InetHostAddress * remoteAddress, Port * remotePort) { - printf("Receving Network Packet\n"); +// CSP_LOG(NETWORK, DEBUG, "Receving Network Packet"); if (m_UDPReceiverSocket->isPending(ost::Socket::pendingInput, 0)) { @@ -154,3 +152,25 @@ } + +int MessageSocketDuplex::sendto(NetworkMessage & message, NetworkNode * node) +{ + +// CSP_LOG(NETWORK, DEBUG, "Sending Network Packet"); + ost::InetHostAddress address = node->getAddress(); + Port port = node->getPort(); + return sendto(message, &address, &port); +// return 0; +} + + +int MessageSocketDuplex::recvfrom(NetworkMessage & message, NetworkNode * node) +{ +// CSP_LOG(NETWORK, DEBUG, "Receiving Network Packet"); + ost::InetHostAddress address = node->getAddress(); + Port port = node->getPort(); + return recvfrom(message, &address, &port); +// return 0; +} + + Modified: trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -23,6 +23,8 @@ * * This class encapsulates a node in the simulation network. */ + +#include <cc++/network.h> #include "Networking.h" NetworkAddress::NetworkAddress() Modified: trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -23,6 +23,7 @@ * * Broadcasts network messages */ +#include <cc++/network.h> #include "Networking.h" NetworkBroadcaster::NetworkBroadcaster() Modified: trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -23,6 +23,8 @@ * * Listens for network messages */ + +#include <cc++/network.h> #include "Networking.h" Modified: trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/Networking/NetworkMessage.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -25,6 +25,7 @@ * Currently contains for header and buffer routines */ +#include <cc++/network.h> #include "Networking.h" unsigned short NetworkMessage::magicNumber = 0xFCCF; @@ -51,6 +52,7 @@ } + /** * ~NetworkMessage * Modified: trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/Networking/NetworkMessenger.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -21,10 +21,31 @@ * @file NetworkMessenger.cpp: * @author Scott Flicker (Wolverine) */ + +#include <cc++/network.h> #include "Networking.h" NetworkMessenger::NetworkMessenger() { - + m_messageSocketDuplex = new MessageSocketDuplex(); } +NetworkMessenger::NetworkMessenger(Port port) +{ + m_messageSocketDuplex = new MessageSocketDuplex(port); +} + +void NetworkMessenger::queueMessage(NetworkNode * node, NetworkMessage * message) +{ + m_messageList.push_back(message); +} + +void NetworkMessenger::sendMessages() +{ + +} + +void NetworkMessenger::receiveMessages() +{ + +} Modified: trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -23,12 +23,51 @@ * * This class encapsulates a node in the simulation network. */ + +#include <cc++/network.h> #include "Networking.h" NetworkNode::NetworkNode() { - + m_node_id = 0; + m_addr = "0.0.0.0"; + m_port = 0; } +NetworkNode::NetworkNode(int node_id, ost::InetHostAddress addr, Port port) +{ + m_node_id = node_id; + m_addr = addr; + m_port = port; +} +void NetworkNode::setAddress(ost::InetHostAddress addr) +{ + m_addr = addr; +} +void NetworkNode::setPort(Port port) +{ + m_port = port; +} + +void NetworkNode::setId(int node_id) +{ + m_node_id = node_id; +} + +ost::InetHostAddress NetworkNode::getAddress() +{ + return m_addr; +} + +Port NetworkNode::getPort() +{ + return m_port; +} + +int NetworkNode::getId() +{ + return m_node_id; +} + Modified: trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -21,10 +21,8 @@ * @file NetworkSocket.cpp: * @author Scott Flicker (Wolverine) */ -#if _MSC_VER -#include <WinSock2.h> -#endif +#include <cc++/network.h> #include "Networking.h" NetworkSocket::NetworkSocket() Modified: trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -22,6 +22,7 @@ * @author Scott Flicker (Wolverine) */ +#include <cc++/network.h> #include "Networking.h" ObjectUpdateMessage::ObjectUpdateMessage(simdata::uint16 id, simdata::Vector3 position, simdata::Vector3 velocity) Modified: trunk/CSP/CSPSim/Source/ServerNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-02 20:15:08 UTC (rev 942) +++ trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-08 12:28:22 UTC (rev 943) @@ -1,3 +1,4 @@ +#include <cc++/network.h> #include "Networking.h" #include "ServerNode.h" #include <stdio.h> |
From: <sv...@ww...> - 2004-05-10 04:35:52
|
Author: wolverine Date: 2004-05-08 07:14:01 -0700 (Sat, 08 May 2004) New Revision: 944 Modified: trunk/CSP/CSPSim/Include/CSPSim.h Log: Changes to compile networking on windows. Modified: trunk/CSP/CSPSim/Include/CSPSim.h =================================================================== --- trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-08 12:28:22 UTC (rev 943) +++ trunk/CSP/CSPSim/Include/CSPSim.h 2004-05-08 14:14:01 UTC (rev 944) @@ -27,6 +27,7 @@ #ifndef __CSPSIM_H__ #define __CSPSIM_H__ +#define _WINSOCKAPI_ #include <SimData/Ref.h> #include <SimData/Date.h> |
From: <sv...@ww...> - 2004-05-10 04:35:52
|
Author: wolverine Date: 2004-05-08 07:32:32 -0700 (Sat, 08 May 2004) New Revision: 946 Modified: trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp Log: fixed a compile problem. need to have header len be a static constant someplace to really fix this problem. Modified: trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-08 14:26:40 UTC (rev 945) +++ trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-08 14:32:32 UTC (rev 946) @@ -127,7 +127,7 @@ // peek at packet to verify this is a valid CSP packet. and if so get the packet type. int headerlen = 6; - uint16 headerBuffer[headerlen]; + uint16 headerBuffer[6]; int numHeaderBytes = m_UDPReceiverSocket->peek(headerBuffer, headerlen); // TODO validation of header |
From: <sv...@ww...> - 2004-05-10 04:35:52
|
Author: wolverine Date: 2004-05-08 07:26:40 -0700 (Sat, 08 May 2004) New Revision: 945 Modified: trunk/CSP/CSPSim/Include/Networking.h Log: removed stdio.h and other similar includes Modified: trunk/CSP/CSPSim/Include/Networking.h =================================================================== --- trunk/CSP/CSPSim/Include/Networking.h 2004-05-08 14:14:01 UTC (rev 944) +++ trunk/CSP/CSPSim/Include/Networking.h 2004-05-08 14:26:40 UTC (rev 945) @@ -25,11 +25,6 @@ #ifndef __NETWORKING_H__ #define __NETWORKING_H__ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <assert.h> -#include <errno.h> #include <sys/types.h> #include <list> |
From: <sv...@ww...> - 2004-05-10 04:35:51
|
Author: wolverine Date: 2004-05-02 13:15:08 -0700 (Sun, 02 May 2004) New Revision: 942 Added: trunk/CSP/CSPSim/Include/ClientNode.h trunk/CSP/CSPSim/Include/ServerNode.h Log: Added new Networking files Added: trunk/CSP/CSPSim/Include/ClientNode.h =================================================================== --- trunk/CSP/CSPSim/Include/ClientNode.h 2004-05-02 20:14:20 UTC (rev 941) +++ trunk/CSP/CSPSim/Include/ClientNode.h 2004-05-02 20:15:08 UTC (rev 942) @@ -0,0 +1,17 @@ +#ifndef __CLIENTNODE_H__ +#define __CLIENTNODE_H__ + +#include "Networking.h" + +class ClientNode +{ + + public: + ClientNode(); + int run(); + + +}; + +#endif + Added: trunk/CSP/CSPSim/Include/ServerNode.h =================================================================== --- trunk/CSP/CSPSim/Include/ServerNode.h 2004-05-02 20:14:20 UTC (rev 941) +++ trunk/CSP/CSPSim/Include/ServerNode.h 2004-05-02 20:15:08 UTC (rev 942) @@ -0,0 +1,10 @@ +#include "Networking.h" + +class ServerNode +{ + + public: + ServerNode(); + int run(); + +}; |
From: <sv...@ww...> - 2004-05-10 04:35:51
|
Author: wolverine Date: 2004-05-02 13:12:35 -0700 (Sun, 02 May 2004) New Revision: 939 Added: trunk/CSP/CSPSim/Source/ClientNode.cpp trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp trunk/CSP/CSPSim/Source/ServerNode.cpp Log: Added new Networking files Added: trunk/CSP/CSPSim/Source/ClientNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ClientNode.cpp 2004-05-02 20:11:00 UTC (rev 938) +++ trunk/CSP/CSPSim/Source/ClientNode.cpp 2004-05-02 20:12:35 UTC (rev 939) @@ -0,0 +1,42 @@ + + +#include "ClientNode.h" + +#include <cc++/common.h> +#include "Networking.h" +#include <stdio.h> +#include <stdlib.h> + +ClientNode::ClientNode() +{ + +} + +int ClientNode::run() +{ + printf("Network test client starting up...\n"); + Port clientPort = 20010; + Port serverPort = 20011; + MessageSocketDuplex * socketDuplex = new MessageSocketDuplex(clientPort); + NetworkMessage message; + message.initialize(1, 100); + char * payloadPtr = (char*)message.getPayloadPtr(); + memset(payloadPtr, 0 , 100); + strcpy(payloadPtr, "Hello From CSP Network Test Client!"); + ost::InetHostAddress * serverAddress = new ost::InetHostAddress("localhost"); + socketDuplex->sendto(message, serverAddress, &serverPort); + + return 0; +} + +#ifdef CSP_STANDALONE + +int main(int argc, char * argv[]) +{ + ClientNode node; + return node.run(); +} + +#endif + + Added: trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-02 20:11:00 UTC (rev 938) +++ trunk/CSP/CSPSim/Source/Networking/MessageSocketDuplex.cpp 2004-05-02 20:12:35 UTC (rev 939) @@ -0,0 +1,156 @@ +// Combat Simulator Project - FlightSim Dem +// Copyright (C) 2002 The Combat Simulator Project +// http://csp.sourceforge.net +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +/** + * @file NetworkSocket.cpp: + * @author Scott Flicker (Wolverine) + */ +#if _MSC_VER +#include <WinSock2.h> +#endif + +#include "Networking.h" + +MessageSocketDuplex::MessageSocketDuplex() +{ + m_UDPReceiverSocket = new ost::UDPSocket(); + m_UDPSenderSocket = new ost::UDPSocket(); + m_receiverAddr = NULL; + m_receiverPort = 0; +} + +MessageSocketDuplex::MessageSocketDuplex(Port port) +{ + // create receiver end point + m_receiverAddr = new ost::InetAddress(); // this should be to INADDR_ANY + m_receiverPort = port; + m_UDPReceiverSocket = new ost::UDPSocket(*m_receiverAddr, port); + m_UDPSenderSocket = new ost::UDPSocket(); + + /* + m_receiverSockFd = socket(AF_INET, SOCK_DGRAM, 0); + m_senderSockFd = socket(AF_INET, SOCK_DGRAM, 0); + */ + + /* + memset( (void*)&m_receiverSocketAddress, 0, sizeof (struct sockaddr_in)); + + m_receiverSocketAddress.sin_family = AF_INET; + m_receiverSocketAddress.sin_port = htons( port ); + m_receiverSocketAddress.sin_addr.s_addr = htonl(INADDR_ANY); + + ::bind(m_receiverSockFd, (struct sockaddr *)&m_receiverSocketAddress, sizeof(m_receiverSocketAddress)); + */ + + // create sender end point + + +} + +MessageSocketDuplex::MessageSocketDuplex(ost::InetAddress & addr, Port port) +{ + m_receiverAddr = &addr; + m_receiverPort = port; + m_UDPReceiverSocket = new ost::UDPSocket(addr, port); + m_UDPSenderSocket = new ost::UDPSocket(); + +} + +/* +void MessageSocketDuplex::bind(NetworkAddress * address, Port port) +{ + +} +*/ + +int MessageSocketDuplex::sendto(NetworkMessage & message, ost::InetHostAddress * remoteAddress, Port * remotePort) +{ + printf("Sending Network Packet\n"); + + m_UDPSenderSocket->setPeer(*remoteAddress, *remotePort); + +#ifdef _MSC_VER + return m_UDPSenderSocket->send((const char *)message.getBufferPtr(), message.getBufferLen()); +#else + return m_UDPSenderSocket->send((const void *)message.getBufferPtr(), message.getBufferLen()); +#endif + + /* + + struct sockaddr_in servaddr; + memset((void*)&servaddr, 0, sizeof(sockaddr)); + servaddr.sin_family = AF_INET; + servaddr.sin_port = htons(*remotePort); + servaddr.sin_addr.s_addr = inet_addr(remoteAddress->getNetworkName().c_str()); + +#ifdef _MSC_VER + return ::sendto(m_senderSockFd, (const char *)message->getBufferPtr(), message->getBufferLen(), 0, (const struct sockaddr *)&servaddr, sizeof(sockaddr)); +#else + return ::sendto(m_senderSockFd, (const void *)message->getBufferPtr(), message->getBufferLen(), 0, (const struct sockaddr *)&servaddr, sizeof(sockaddr)); +#endif + + */ + +} + +int MessageSocketDuplex::recvfrom(NetworkMessage & message, ost::InetHostAddress * remoteAddress, Port * remotePort) +{ + printf("Receving Network Packet\n"); + + if (m_UDPReceiverSocket->isPending(ost::Socket::pendingInput, 0)) + { + // get addr of next packet + Port port; + ost::InetHostAddress addr = m_UDPReceiverSocket->getPeer(&port); + + + // TODO may need to validate addr, and port as being from a register node. + if (remotePort) + *remotePort = port; + if (remoteAddress) + *remoteAddress = addr; + + // peek at packet to verify this is a valid CSP packet. and if so get the packet type. + + int headerlen = 6; + uint16 headerBuffer[headerlen]; + int numHeaderBytes = m_UDPReceiverSocket->peek(headerBuffer, headerlen); + + // TODO validation of header + + // get the packet + int numPacketBytes = m_UDPReceiverSocket->receive((void*)message.getBufferPtr(), + message.getBufferLen()); + + return numPacketBytes; + + } + return 0; + + + + /* + struct sockaddr_in cliaddr; + socklen_t clilen = sizeof(cliaddr); + return ::recvfrom(m_receiverSockFd, (void *)message->getBufferPtr(), message->getBufferLen(), + 0, (struct sockaddr *)&cliaddr, &clilen); + */ + +} + Added: trunk/CSP/CSPSim/Source/ServerNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-02 20:11:00 UTC (rev 938) +++ trunk/CSP/CSPSim/Source/ServerNode.cpp 2004-05-02 20:12:35 UTC (rev 939) @@ -0,0 +1,45 @@ +#include "Networking.h" +#include "ServerNode.h" +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +ServerNode::ServerNode() +{ + +} + +int ServerNode::run() +{ + printf("Network test client starting up...\n"); + Port clientPort = 20010; + Port serverPort = 20011; + MessageSocketDuplex * socket = new MessageSocketDuplex(serverPort); + NetworkMessage message; + message.initialize(1, 100); + memset((void*)message.getPayloadPtr(), 0, 100); + while(1) + { + int numreceived = socket->recvfrom(message, NULL, &clientPort); + char * payloadPtr = (char*)message.getPayloadPtr(); + printf("Received Mesage From Client: %s\n", payloadPtr); + memset((void*)message.getPayloadPtr(), 0, 100); + if (numreceived == 0) + { + ::sleep(5); + } + } + + return 0; +} + +#ifdef CSP_STANDALONE + +int main(int argc, char * argv[]) +{ + ServerNode node; + return node.run(); +} + +#endif + |
From: <sv...@ww...> - 2004-05-10 04:35:51
|
Author: wolverine Date: 2004-05-02 13:14:20 -0700 (Sun, 02 May 2004) New Revision: 941 Added: trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp Log: Added new Networking files Added: trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp 2004-05-02 20:13:24 UTC (rev 940) +++ trunk/CSP/CSPSim/Source/Networking/NetworkAddress.cpp 2004-05-02 20:14:20 UTC (rev 941) @@ -0,0 +1,64 @@ +// Combat Simulator Project - FlightSim Demo +// Copyright (C) 2002 The Combat Simulator Project +// http://csp.sourceforge.net +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +/** + * @file NetworkAddress.cpp: + * @author Scott Flicker (Wolverine) + * + * This class encapsulates a node in the simulation network. + */ +#include "Networking.h" + +NetworkAddress::NetworkAddress() +{ + m_name = "hostname"; + m_IPAddress = "0.0.0.0"; +} + +NetworkAddress::NetworkAddress(const simdata::String name) +{ + +} + +NetworkAddress::NetworkAddress(NetworkAddress & addr) +{ + +} + +simdata::String NetworkAddress::getNetworkName() +{ + //FIXME this needs to be not hardcoded. + return m_name; +} + +simdata::String NetworkAddress::getNetworkIP() +{ + return m_IPAddress; +} + +void NetworkAddress::setByNetworkName(const simdata::String & name) +{ + +} + +void NetworkAddress::setByNetworkIP(const simdata::String & address) +{ + +} + |
From: <sv...@ww...> - 2004-05-10 04:35:51
|
Author: wolverine Date: 2004-05-02 13:13:24 -0700 (Sun, 02 May 2004) New Revision: 940 Added: trunk/CSP/CSPSim/Include/ClientNode.i trunk/CSP/CSPSim/Include/ServerNode.i Log: Added new Networking files Added: trunk/CSP/CSPSim/Include/ClientNode.i =================================================================== --- trunk/CSP/CSPSim/Include/ClientNode.i 2004-05-02 20:12:35 UTC (rev 939) +++ trunk/CSP/CSPSim/Include/ClientNode.i 2004-05-02 20:13:24 UTC (rev 940) @@ -0,0 +1,7 @@ +%module ClientNode +%{ +#include "ClientNode.h" +%} + +%include "ClientNode.h" + Added: trunk/CSP/CSPSim/Include/ServerNode.i =================================================================== --- trunk/CSP/CSPSim/Include/ServerNode.i 2004-05-02 20:12:35 UTC (rev 939) +++ trunk/CSP/CSPSim/Include/ServerNode.i 2004-05-02 20:13:24 UTC (rev 940) @@ -0,0 +1,7 @@ +%module ServerNode +%{ +#include "ServerNode.h" +%} + +%include "ServerNode.h" + |
From: <sv...@ww...> - 2004-05-10 04:35:51
|
Author: wolverine Date: 2004-05-02 13:11:00 -0700 (Sun, 02 May 2004) New Revision: 938 Modified: trunk/CSP/CSPSim/CHANGES.current trunk/CSP/CSPSim/Include/DynamicObject.h trunk/CSP/CSPSim/Include/Networking.h trunk/CSP/CSPSim/Makefile.in trunk/CSP/CSPSim/Source/Makefile.in trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp trunk/CSP/CSPSim/Source/cCSP.i Log: Changes to Networking to use Common C++ and support Python Modified: trunk/CSP/CSPSim/CHANGES.current =================================================================== --- trunk/CSP/CSPSim/CHANGES.current 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/CHANGES.current 2004-05-02 20:11:00 UTC (rev 938) @@ -1,5 +1,8 @@ Version 0.4.0 (in progress) =========================== +2004-05-02: wolverine + * Updates to the networking to use commonc++, and export a python module. + 2004-05-02: delta * Corrected a PYTHONPATH instead of PYTHON_PATH in the debug vs project file. Modified: trunk/CSP/CSPSim/Include/DynamicObject.h =================================================================== --- trunk/CSP/CSPSim/Include/DynamicObject.h 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/Include/DynamicObject.h 2004-05-02 20:11:00 UTC (rev 938) @@ -41,7 +41,7 @@ class Geode; class ParticleSystemUpdater; class ModularEmitter; -} +}; class VirtualBattlefield; Modified: trunk/CSP/CSPSim/Include/Networking.h =================================================================== --- trunk/CSP/CSPSim/Include/Networking.h 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/Include/Networking.h 2004-05-02 20:11:00 UTC (rev 938) @@ -32,6 +32,8 @@ #include <errno.h> #include <sys/types.h> +#include <cc++/common.h> + #ifndef _MSC_VER #include <sys/socket.h> #include <netinet/in.h> @@ -39,17 +41,22 @@ #endif #include <SimData/Vector3.h> +#include <SimData/String.h> +#include <SimData/Uniform.h> +typedef int SockFd; +typedef simdata::uint16 Port; + class NetworkMessage { protected: - unsigned char * m_Buf; - unsigned char * m_PayloadBuf; - unsigned short m_BufferLen; - unsigned short m_MessageType; - unsigned short m_PayloadLen; + simdata::uint8 * m_Buf; + simdata::uint8 * m_PayloadBuf; + simdata::uint16 m_BufferLen; + simdata::uint16 m_MessageType; + simdata::uint16 m_PayloadLen; bool m_Initialized; static unsigned short magicNumber; @@ -60,16 +67,16 @@ NetworkMessage(); virtual ~NetworkMessage(); - bool initialize(unsigned short type, unsigned short payloadLength); + bool initialize(simdata::uint16 type, simdata::uint16 payloadLength); - unsigned short getType(); + simdata::uint16 getType(); void * getBufferPtr(); void * getPayloadPtr(); - unsigned short getBufferLen(); - unsigned short getPayloadLen(); - unsigned short getHeaderLen(); + simdata::uint16 getBufferLen(); + simdata::uint16 getPayloadLen(); + simdata::uint16 getHeaderLen(); bool isInitialized(); bool isHeaderValid(); @@ -86,46 +93,80 @@ { public: - ObjectUpdateMessage(unsigned int id, simdata::Vector3 position, simdata::Vector3 velocity); + ObjectUpdateMessage(simdata::uint16 id, simdata::Vector3 position, simdata::Vector3 velocity); }; -class NetworkNode +class NetworkAddress { + private: + struct in_addr m_addr; + simdata::String m_name; + simdata::String m_IPAddress; public: - NetworkNode(); + NetworkAddress(); + NetworkAddress(const simdata::String name); + NetworkAddress(NetworkAddress & addr); - char * getNetworkName(); + simdata::String getNetworkName(); + simdata::String getNetworkIP(); + void setByNetworkName(const simdata::String & name); + void setByNetworkIP(const simdata::String & address); }; -class NetworkSocket + +class MessageSocketDuplex { - int m_sockfd; - struct sockaddr_in * m_servaddr; + ost::UDPSocket * m_UDPReceiverSocket; + ost::UDPSocket * m_UDPSenderSocket; + + /* + SockFd m_receiverSockFd; + SockFd m_senderSockFd; + */ + /* + struct sockaddr_in m_receiverSocketAddress; + NetworkAddress * m_receiverAddress; + */ + + ost::InetAddress * m_receiverAddr; + Port m_receiverPort; + public: - NetworkSocket(NetworkNode * node, short port); - int sendto(NetworkMessage * message); + MessageSocketDuplex(); // set the listener port to unbound. + MessageSocketDuplex(ost::InetAddress & Address, Port port); // set the bound address and port. + MessageSocketDuplex(Port port); // set the bound port. + + /* + void bind(NetworkAddress * address, Port port); // binds the listener port. + */ + + int sendto(NetworkMessage & message, ost::InetHostAddress * remoteAddress, Port * remotePort); + int recvfrom(NetworkMessage & message, ost::InetHostAddress * remoteAddress=NULL, Port * remotePort=NULL); + + ost::InetAddress * getReciverAddress() { return m_receiverAddr; } + Port getReceiverPort() { return m_receiverPort; } + }; class NetworkMessenger { + private: + MessageSocketDuplex m_messageSocketDuplex; + + public: + NetworkMessenger(); }; class NetworkBroadcaster { - short m_server_port; - NetworkNode * m_node; - NetworkSocket * m_socket; - public: NetworkBroadcaster(); - - void sendMessage( int NodeID, NetworkMessage * message); }; @@ -135,9 +176,22 @@ public: NetworkListener(); - void receiveAvailableMessages(); }; +class NetworkNode +{ + public: + NetworkNode(); +}; + +class NetworkSocket +{ + + public: + NetworkSocket(); +}; + + #endif Modified: trunk/CSP/CSPSim/Makefile.in =================================================================== --- trunk/CSP/CSPSim/Makefile.in 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/Makefile.in 2004-05-02 20:11:00 UTC (rev 938) @@ -1,7 +1,7 @@ SUBDIRS = Source Tools/Terrain/dem2dat Tools/Terrain/tile -export DEMETER_RELATIVE = ../../THIRDPARTYLIBS/demeter -export CHUNKLOD_RELATIVE = ../../THIRDPARTYLIBS/CSPChunkLod +export DEMETER_RELATIVE = ../Demeter +export CHUNKLOD_RELATIVE = ../CSPChunkLod export GDEBUGF = -g -Wall export GCFLAGS = -fPIC -O2# -DSWIG_GLOBAL Modified: trunk/CSP/CSPSim/Source/Makefile.in =================================================================== --- trunk/CSP/CSPSim/Source/Makefile.in 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/Source/Makefile.in 2004-05-02 20:11:00 UTC (rev 938) @@ -12,9 +12,9 @@ CHUNKLOD_LIBRARY = -L$(CHUNKLOD_PREFIX)/lib -losgChunkLod_csp CHUNKLOD_INCLUDE = -I$(CHUNKLOD_PREFIX)/include -LIBS = $(DEMETER_LIBRARY) $(CHUNKLOD_LIBRARY) +LIBS = $(DEMETER_LIBRARY) $(CHUNKLOD_LIBRARY) -lccgnu2 -INCLUDE = -I$(TOPDIR)/Include $(DEMETER_INCLUDE) $(CHUNKLOD_INCLUDE) -I@PYTHON_INCLUDE@ +INCLUDE = -I$(TOPDIR)/Include $(DEMETER_INCLUDE) $(CHUNKLOD_INCLUDE) -I@PYTHON_INCLUDE@ -I/usr/local/include/cc++2 BASEFL = $(GDEBUGF) $(GCFLAGS) $(INCLUDE) @SDL_FLAGS@ @SIGC_FLAGS@ #@CCGNU2_FLAGS@ CFLAGS = $(filter-out -I/usr/local/include, $(BASEFL)) @@ -22,6 +22,17 @@ LDOPTS = -Wl,-z,lazyload $(GLDOPTS) @LIBS@ SWOPTS = $(GSWOPTS) $(INCLUDE) +NETWORK_SOURCES = Networking/NetworkNode.cpp \ + Networking/NetworkMessage.cpp \ + Networking/ObjectUpdateMessage.cpp \ + Networking/NetworkMessenger.cpp \ + Networking/NetworkBroadcaster.cpp \ + Networking/NetworkListener.cpp \ + Networking/NetworkSocket.cpp \ + Networking/MessageSocketDuplex.cpp \ + Networking/NetworkAddress.cpp \ + + SOURCES = \ Systems/AircraftFlightSensors.cpp \ Systems/AircraftInputSystem.cpp \ @@ -34,6 +45,7 @@ BaseDynamics.cpp \ BaseScreen.cpp \ ChunkLodTerrain.cpp \ + ClientNode.cpp \ Collision.cpp \ Colorspace.cpp \ Config.cpp \ @@ -64,12 +76,15 @@ Networking/NetworkBroadcaster.cpp \ Networking/NetworkListener.cpp \ Networking/NetworkSocket.cpp \ + Networking/MessageSocketDuplex.cpp \ + Networking/NetworkAddress.cpp \ NumericalMethod.cpp \ ObjectModel.cpp \ ObjectRangeInfo.cpp \ PhysicsModel.cpp \ ScreenInfo.cpp \ ScreenInfoManager.cpp \ + ServerNode.cpp \ SimObject.cpp \ SimpleConfig.cpp \ Sky.cpp \ @@ -102,6 +117,7 @@ VirtualScene.cpp OBJECTS = $(SOURCES:%.cpp=%.o) +NETWORK_OBJECTS = $(NETWORK_SOURCES:%.cpp=%.o) DEPDIR = .deps MKDEP = $(CXX) -M $(CFLAGS) @@ -165,6 +181,22 @@ cCSP_wrap.o: cCSP_wrap.cpp $(CXX) -c $(SWCXXF) $(@:.o=.cpp) +ClientNode_StandAlone.o : ClientNode.cpp + $(CXX) -c $(CFLAGS) -DCSP_STANDALONE -o ClientNode_StandAlone.o ClientNode.cpp + +ClientNode: $(NETWORK_OBJECTS) ClientNode_StandAlone.o + $(CXX) -L/usr/local/lib -lccgnu2 -ldl -lpthread -o$(BIN)/$@ $(NETWORK_OBJECTS) ClientNode_StandAlone.o + +ServerNode_StandAlone.o : ServerNode.cpp + $(CXX) -c $(CFLAGS) -DCSP_STANDALONE -o ServerNode_StandAlone.o ServerNode.cpp + +ServerNode: $(NETWORK_OBJECTS) ServerNode_StandAlone.o + $(CXX) -L/usr/local/lib -lccgnu2 -ldl -lpthread -o$(BIN)/$@ $(NETWORK_OBJECTS) ServerNode_StandAlone.o + + +test: ClientNode ServerNode + + %.o: %.cpp $(CXX) -c $(CFLAGS) -o $@ $(@:.o=.cpp) @@ -174,5 +206,5 @@ Makefile: Makefile.in cd $(TOPDIR) && ./configure -all: Makefile build-subdirs _cCSP.so #CSPapp +all: Makefile build-subdirs _cCSP.so test #CSPapp Modified: trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/Source/Networking/NetworkBroadcaster.cpp 2004-05-02 20:11:00 UTC (rev 938) @@ -27,15 +27,6 @@ NetworkBroadcaster::NetworkBroadcaster() { - m_server_port = 2874; - - m_node = new NetworkNode();; - m_socket = new NetworkSocket(m_node, m_server_port); } -void NetworkBroadcaster::sendMessage( int NodeID, NetworkMessage * message) -{ - m_socket->sendto( message ); -} - Modified: trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/Source/Networking/NetworkListener.cpp 2004-05-02 20:11:00 UTC (rev 938) @@ -30,8 +30,3 @@ { } - -void NetworkListener::receiveAvailableMessages() -{ - -} Modified: trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/Source/Networking/NetworkNode.cpp 2004-05-02 20:11:00 UTC (rev 938) @@ -31,9 +31,4 @@ } -char * NetworkNode::getNetworkName() -{ - //FIXME this needs to be not hardcoded. - return "192.168.2.3"; -} Modified: trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/Source/Networking/NetworkSocket.cpp 2004-05-02 20:11:00 UTC (rev 938) @@ -27,25 +27,8 @@ #include "Networking.h" -NetworkSocket::NetworkSocket(NetworkNode * node, short port) +NetworkSocket::NetworkSocket() { - m_sockfd = socket(AF_INET, SOCK_DGRAM, 0); - m_servaddr = new sockaddr_in; - struct in_addr * addrptr = &m_servaddr->sin_addr; - - printf("Opening socket to %s on port %d\n", node->getNetworkName(), port); - memset( m_servaddr, 0, sizeof (struct sockaddr_in)); - m_servaddr->sin_family = AF_INET; - m_servaddr->sin_port = htons( port ); - addrptr->s_addr = inet_addr( node->getNetworkName() ); } -int NetworkSocket::sendto(NetworkMessage * message) -{ - printf("Sending Network Packet\n"); -#ifdef _MSC_VER - return ::sendto(m_sockfd, (const char *)message->getBufferPtr(), message->getBufferLen(), 0, (const struct sockaddr *)m_servaddr, sizeof(sockaddr_in)); -#else - return ::sendto(m_sockfd, (const void *)message->getBufferPtr(), message->getBufferLen(), 0, (const struct sockaddr *)m_servaddr, sizeof(sockaddr_in)); -#endif -} + Modified: trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/Source/Networking/ObjectUpdateMessage.cpp 2004-05-02 20:11:00 UTC (rev 938) @@ -24,7 +24,7 @@ #include "Networking.h" -ObjectUpdateMessage::ObjectUpdateMessage(unsigned int id, simdata::Vector3 position, simdata::Vector3 velocity) +ObjectUpdateMessage::ObjectUpdateMessage(simdata::uint16 id, simdata::Vector3 position, simdata::Vector3 velocity) { // reserve space to hold 6 doubles. double num; Modified: trunk/CSP/CSPSim/Source/cCSP.i =================================================================== --- trunk/CSP/CSPSim/Source/cCSP.i 2004-05-02 19:58:05 UTC (rev 937) +++ trunk/CSP/CSPSim/Source/cCSP.i 2004-05-02 20:11:00 UTC (rev 938) @@ -40,6 +40,8 @@ //%include "SimpleConfig.i" %include "Config.i" %include "Log.i" +%include "ClientNode.i" +%include "ServerNode.i" /* %include "SimObject.i" |
From: <sv...@ww...> - 2004-05-10 04:35:50
|
Author: wolverine Date: 2004-05-02 12:58:05 -0700 (Sun, 02 May 2004) New Revision: 937 Modified: trunk/CSP/CSPSim/Bin/CSPSim.py Log: Added calls for ClientNode and ServerNode Modified: trunk/CSP/CSPSim/Bin/CSPSim.py =================================================================== --- trunk/CSP/CSPSim/Bin/CSPSim.py 2004-05-02 14:39:04 UTC (rev 936) +++ trunk/CSP/CSPSim/Bin/CSPSim.py 2004-05-02 19:58:05 UTC (rev 937) @@ -46,6 +46,8 @@ print " --log=classes set the logging classes" print " --slog=level set the simdata logging level" print " --dump-data show the contents of sim.dar" + print " --client-node run networking test client node" + print " --server-node run networking test server node" print " --help help message" @@ -135,7 +137,18 @@ sys.exit(1) compiler.compileAll() print + +def runClientNode(args): + print "Starting Test Client Node..." + loadCSP() + app = CSP.ClientNode() + app.run() +def runServerNode(args): + print "Starting Test Server Node..." + loadCSP() + app = CSP.ServerNode() + app.run() def loadSimData(): """Load the SimData module""" @@ -239,6 +252,10 @@ elif arg.startswith('--dump-data='): action = dumpData other_args.append(arg) + elif arg == '--client-node': + action = runClientNode + elif arg == '--server-node': + action = runServerNode elif arg == '--pause': pause = 1 elif arg in ("--help", "-h", "-help"): |
From: <sv...@ww...> - 2004-05-10 04:35:50
|
Author: delta Date: 2004-05-02 07:37:20 -0700 (Sun, 02 May 2004) New Revision: 935 Modified: trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj Log: Changed PYTHONPATH to PYTHON_PATH in custom build step debug build. Modified: trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj =================================================================== --- trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj 2004-05-02 14:31:59 UTC (rev 934) +++ trunk/CSP/CSPSim/VisualStudio/CSPSimDLL/CSPSimDLL.vcproj 2004-05-02 14:37:20 UTC (rev 935) @@ -720,7 +720,7 @@ Name="Debug|Win32"> <Tool Name="VCCustomBuildTool" - CommandLine="$(SWIG_PATH)\swig -runtime -c++ -python -noexcept -I..\..\Include -I$(PYTHONPATH)\include -o ..\..\Source\$(InputName)_wrap.cpp ..\..\Source\$(InputName).i + CommandLine="$(SWIG_PATH)\swig -runtime -c++ -python -noexcept -I..\..\Include -I$(PYTHON_PATH)\include -o ..\..\Source\$(InputName)_wrap.cpp ..\..\Source\$(InputName).i " Outputs="..\..\Source\$(InputName)_wrap.cpp"/> </FileConfiguration> |
From: <sv...@ww...> - 2004-05-10 04:35:50
|
Author: delta Date: 2004-05-02 07:31:59 -0700 (Sun, 02 May 2004) New Revision: 934 Modified: trunk/CSP/CSPSim/Source/Views/View.cpp Log: Simplified View ctor. Modified: trunk/CSP/CSPSim/Source/Views/View.cpp =================================================================== --- trunk/CSP/CSPSim/Source/Views/View.cpp 2004-05-02 14:29:47 UTC (rev 933) +++ trunk/CSP/CSPSim/Source/Views/View.cpp 2004-05-02 14:31:59 UTC (rev 934) @@ -22,13 +22,15 @@ * **/ -#include "Views/View.h" -#include "Views/CameraAgent.h" -#include "VirtualBattlefield.h" #include "CSPSim.h" #include "DynamicObject.h" +#include "VirtualBattlefield.h" +#include "Views/View.h" +#include "Views/CameraAgent.h" + + void View::accept(const simdata::Ref<DynamicObject> object) { m_ActiveObject = object; } @@ -57,8 +59,7 @@ View::View(size_t vm): m_ViewMode(vm), - m_InternalView(false), - m_ActiveObject(CSPSim::theSim->getActiveObject()){ + m_InternalView(false) { } void View::cull() { |