00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00026 #ifndef _CLASS_TCP_H_
00027 #define _CLASS_TCP_H_
00028
00029
00030 #include <sys/socket.h>
00031 #include <netinet/in.h>
00032 #include <arpa/inet.h>
00033 #include <stdio.h>
00034 #include <stdlib.h>
00035 #include <string.h>
00036 #include <unistd.h>
00037 #include <fcntl.h>
00038 #include <errno.h>
00039 #include <iostream>
00040
00041 using namespace std;
00042
00046 class tcp_client
00047 {
00048
00049 public:
00060 tcp_client(const char*ip,int port,bool async_comm=false);
00061
00067 ~tcp_client();
00068
00075 int Connect(void);
00076
00083 int Disconnect(void);
00084
00093 int Send(char*data,int size);
00094
00107 int Receive(char*data,int size,bool peek=false,int*number=NULL,int flags=0);
00108
00117 int perr(const char*text);
00118
00125 int GetSocket();
00126
00128 int err;
00129
00131 char err_msg[1024];
00132
00134 bool connected;
00135 private:
00136
00138 int sock;
00139
00141 struct sockaddr_in server;
00142
00144 int ret;
00145
00147 bool async;
00148 };
00149
00150 #endif
00151