E:/Eigene Dateien/Eigene Projekte/c0re/Network.h

Go to the documentation of this file.
00001 /*
00002         This file is part of c0re.
00003 
00004         c0re is a multiplayer RTS on a hexagonal map with an evolving unit concept.
00005     Copyright (C) 2007 Stephan Hofmann
00006 
00007     c0re is free software: you can redistribute it and/or modify
00008     it under the terms of the GNU General Public License as published by
00009     the Free Software Foundation, either version 3 of the License, or
00010     (at your option) any later version.
00011 
00012     This program is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015     GNU General Public License for more details.
00016 
00017     You should have received a copy of the GNU General Public License
00018     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00019 */
00020 
00021 #ifndef _NETWORK_H_
00022 #define _NETWORK_H_
00023 
00024 #include <winsock.h>
00025 #include <string>
00026 
00027 #define MAXBUFFER 1024
00028 
00029 class Level;
00030 
00031 class Network
00032 {
00033 public:
00037         Network(Level *p_level);
00038 
00042         virtual ~Network();
00043 
00052         bool createServer(std::string p_level_name, std::string p_player_name, int p_port = 37818);
00053 
00062         std::string connect(std::string p_player_name, std::string p_address, int p_port = 37818);
00063 
00069         bool waitForRemoteSide();
00070 
00071 protected:
00075         Level* level;
00076 
00080         SOCKET conSocket;
00081 
00082 private:
00083 
00084         long _send(SOCKET p_socket, char p_buffer[MAXBUFFER], long p_size);
00085         long _test(SOCKET p_socket);
00086         long _recv(SOCKET p_socket, char p_buffer[MAXBUFFER], long p_sizemax);
00087         SOCKET _acceptConnection(SOCKET p_socket, std::string & p_ipAddress);
00088         int _closeConnection(SOCKET &p_socket);
00089         SOCKET _createServer(int p_port);
00090         SOCKET _connect(std::string p_ipAddress, int p_port);
00091 
00092 };
00093 
00094 
00095 #endif

Generated on Tue Jul 17 22:02:22 2007 for C0re by  doxygen 1.5.2