Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/proxy/src/lib/network/network_socket.h @ 9326

Last change on this file since 9326 was 9308, checked in by patrick, 18 years ago

proxy server ip synchronizeing bug, nodes get registered

File size: 1.7 KB
RevLine 
[5531]1/*!
2 * @file network_socket.h
3  *  Main interface for the network module. Manages all the modules
4
5*/
6
7#ifndef _NETWORK_SOCKET
8#define _NETWORK_SOCKET
9
[5565]10/* include this file, it contains some default definitions */
11#include "netdefs.h"
[5531]12
[5565]13
[5592]14/* include base_object.h since all classes are derived from this one */
15#include "base_object.h"
[5588]16
[5592]17class NetworkSocket : public BaseObject
[5531]18{
[7954]19  public:
20    NetworkSocket();
21    virtual ~NetworkSocket();
[5531]22
[7954]23    /**
24     * connect to server on host with port port
25     * @param host hostname might be xxx.xxx.xxx.xxx or localhost ...
26     * @param port port to connect to
27     */
28    virtual void connectToServer( std::string host, int port ) = 0;
[9291]29
[7954]30    /**
31     * disconnect from server
32     */
33    virtual void disconnectServer() = 0;
[5565]34
[7954]35    /**
36     * send packet to connected socket. will be recieved as whole packet
37     * @param data pointer to data to send
38     * @param length lengt of packet to send
39     * @return true on success
40     */
41    virtual bool writePacket(byte * data, int length) = 0;
[9291]42
[7954]43    /**
44     * read a packet sent by another NetworkSocket
45     * @param data data will be copied here
46     * @param maxLength readPacket will not read more than maxLength
47     * @return bytes read. on error less than zero
48     */
49    virtual int readPacket(byte * data, int maxLength) = 0;
[5624]50
[7954]51    /**
52     * check if socket is ok
53     * @return true if socket is ok
54     */
55    inline bool isOk() { return this->bOk; }
[9291]56
57    /** @returns the ip adderess of the destination socket */
[9308]58    IPaddress getRemoteAddress() { return ip; }
[9291]59
60
[7954]61  protected:
[9291]62    bool              bOk;            //!< check for socket status
[5624]63
[9291]64    IPaddress         ip;             //!< host,port
[5531]65};
66
67
68
[5532]69#endif /* _NETWORK_SOCKET */
Note: See TracBrowser for help on using the repository browser.