00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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