00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef INCLUDE_RSRC_NET_CONNECT
00013 #define INCLUDE_RSRC_NET_CONNECT
00014
00015 #include "../Surcouche/SurcoucheReseau.h"
00016 #include "../Surcouche/SurcoucheMultitache.h"
00017 #include "../Tools/Tools.h"
00018 #include "../Error/Error.h"
00019 #include <stdarg.h>
00020 #include <string>
00021 #if USE_SSL == 1
00022 #include <openssl/ssl.h>
00023 #include <openssl/err.h>
00024 #endif
00025
00026 #define NET_BUFFER 10240
00027 #define NET_DEF_IP "localhost"
00028 #define NET_DEF_PORT 2000
00029
00030 #define NET_T_NORMAL 1
00031 #define NET_T_SSL 2
00032
00033
00034
00035
00036 class NetConnect
00037 {
00038 private :
00039 unsigned int id;
00040 static unsigned int idMax;
00041 char buffer[NET_BUFFER];
00042 unsigned int bufferSize;
00043
00044 public :
00045 SOCKET sock;
00046 SOCKADDR_IN sockName;
00047 unsigned int port;
00048 string ip;
00049 THREAD thread;
00050 unsigned int crypt;
00051
00052 #if USE_SSL == 1
00053 SSL *sslFD;
00054 #endif
00055
00056
00057
00058
00059 NetConnect(unsigned int iCrypt = NET_T_NORMAL);
00060
00061
00062
00063 ~NetConnect();
00064
00065
00066
00067
00068
00069 inline unsigned int GetId()
00070 {
00071 return id;
00072 };
00073
00074
00075
00076
00077
00078 inline const char *GetIp()
00079 {
00080 return ip.data();
00081 };
00082
00083
00084
00085
00086
00087 inline unsigned int GetPort()
00088 {
00089 return port;
00090 };
00091
00092
00093
00094
00095
00096 inline const char *GetBuffer()
00097 {
00098 return buffer;
00099 };
00100
00101
00102
00103
00104
00105 inline unsigned int GetBufferSize()
00106 {
00107 return bufferSize;
00108 };
00109
00110
00111
00112
00113
00114
00115 void BinSend(const char *pBuffer, unsigned int iSize);
00116
00117
00118
00119
00120
00121
00122 void Send(const char *pBuffer, ...);
00123
00124
00125
00126
00127 void Receive();
00128 };
00129
00130
00131 #endif