Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 11, 2007, 5:11:36 PM (16 years ago)
Author:
scheusso
Message:

created a dummyserver and dummyclient in order to test ConnectionManager and PacketBuffer with enet and boost_thread\n Makefile is used to build server and client

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/network/src/network/ConnectionManager.h

    r187 r196  
    55//
    66//
    7 // Author:  <>, (C) 2007
     7// Author:  Oliver Scheuss, (C) 2007
    88//
    99// Copyright: See COPYING file that comes with this distribution
     
    1313#define NETWORK_CONNECTIONMANAGER_H
    1414
    15 #include PacketBuffer.h
     15#include <iostream>
     16// enet library for networking support
     17#include <enet/enet.h>
     18// boost.thread library for multithreading support
     19#include <boost/thread/thread.hpp>
     20#include <boost/bind.hpp>
     21// headerfile
     22#include "network/ConnectionManager.h"
     23#include "network/PacketBuffer.h"
    1624
    1725namespace network{
     
    2028#define NETWORK_MAX_CONNECTIONS 50
    2129#define NETWORK_WAIT_TIMEOUT 5000
     30#define NETWORK_SEND_WAIT 5
    2231  //just some defines to make life easier ;)
    23 #define ENetEvent std::ENetEvent
    24 #define ENetHost std::ENetHost
    25 #define ENetAddress std::ENetAddress
    26 #define ENetPeer std::ENetPeer
     32// #define ENetEvent std::ENetEvent
     33// #define ENetHost std::ENetHost
     34// #define ENetAddress std::ENetAddress
     35// #define ENetPeer std::ENetPeer
    2736 
    2837  struct ClientList{
    29     ENetEvent event;
     38    ENetEvent *event;
    3039    int ID;
    3140    ClientList *next;
     
    3544    public:
    3645    ConnectionManager();
    37     ~ConnectionManager();
    38     void loop(); // thread1
    39     bool createListener();
    40     bool quitServer();
    41     bool sendEventAll(/*.....*/);
    42     bool sendEvent(int clientID/*.....*/);
    43     void test();
     46    ConnectionManager(int port, int address);
     47    ENetPacket *getPacket(); // thread1
     48    // check wheter the packet queue is empty
     49    bool queueEmpty();
     50    // create a new listener thread
     51    void createListener();
     52    bool quitListener();
     53    // add a packet to queue for a specific client peer
     54    bool addPacket(ENetPacket *packet, ENetPeer *peer);
     55    // add ad packet to queue for a specific client ID
     56    bool addPacket(ENetPacket *packet, int ID);
     57    // add a packet to queue for all clients
     58    bool addPacketAll(ENetPacket *packet);
     59    // send out all queued packets
     60    bool sendPackets(ENetEvent *event);
    4461    private:
    45     void peerLoop(int clientNumber); //thread2
    46     bool clientDisconnect(ENetPeer peer);
    47     bool processData(ENetEvent event);
    48     bool addClient(ENetEvent event);
     62    bool clientDisconnect(ENetPeer *peer);
     63    bool processData(ENetEvent *event);
     64    bool addClient(ENetEvent *event);
     65    // implementation of the listener
     66    void receiverThread(); //thread2
    4967    //packetbuffer
    5068    PacketBuffer buffer;
     
    5472    // quit-variable (communication with threads)
    5573    bool quit;
    56     // thread group
    57     boost::thread_group threads;
    5874    // clientlist
    5975    ClientList *client;
     76//     thread group
     77//     boost::thread_group threads;
    6078  };
    6179 
Note: See TracChangeset for help on using the changeset viewer.