00001
00002 #ifndef _CARWORLD_NET_H_
00003 #define _CARWORLD_NET_H_
00004
00005 #include "CWVehicle.h"
00006
00007 #define DEFAULT_PORT 12000
00008
00009
00010 #define CLIENT_CONNECT 0
00011 #define CLIENT_GAMESTATE 1
00012 #define CLIENT_DISCONNECT 2
00013
00014
00015 #define SERVER_CONFIRM 3
00016 #define SERVER_GAMESTATE 4
00017 #define SERVER_DISCONNECT 5
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 struct ClientRequest
00028 {
00029 int ClientNumber;
00030
00031 int DatagramType;
00032
00033 int VersionNumber;
00034
00035 };
00036
00037 struct ClientGamestate
00038 {
00039 int ClientNumber;
00040
00041 int DatagramType;
00042
00043 CWVehicleState vehicle;
00044 };
00045
00046 struct ClientDisconnect
00047 {
00048 int ClientNumber;
00049
00050 int DatagramType;
00051 };
00052
00053
00054
00055 #define MAX_VEHICLES 8
00056
00057 struct ServerConfirm
00058 {
00059 int DatagramType;
00060 int ClientNumber;
00061 int VersionNumber;
00062 int N;
00063 int ClientNumbers[MAX_VEHICLES];
00064
00065 };
00066
00067 struct ServerGamestate
00068 {
00069 int DatagramType;
00070 int N;
00071 int ClientNumbers[MAX_VEHICLES];
00072 CWVehicleState vehicle[MAX_VEHICLES];
00073 };
00074
00075 struct ServerDisconnect
00076 {
00077 int DatagramType;
00078
00079 };
00080
00081 #define MAX_DATAGRAM_SIZE sizeof(ServerGamestate)
00082
00083
00084 #endif //_CARWORLD_NET_H_