ACT-CV - Machine Vision for Cognitive Modeling
TcpClient.h
Go to the documentation of this file.
1 // -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; coding: iso-8859-1; -*-
2 
3 /*
4 ACT-CV - Machine Vision for Cognitive Modeling
5 Copyright (c) 2008 Marc Halbruegge
6 
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11 
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21 
26 #ifndef TCPCLIENT_H_
27 #define TCPCLIENT_H_
28 
29 #include <stdexcept>
30 
31 #ifdef _WINDOWS
32 # include <windows.h>
33 # include <winsock.h>
34 #else
35 // Linux
36 # define SOCKET int
37 # include <sys/types.h>
38 # include <sys/socket.h>
39 # include <netinet/in.h>
40 # include <netinet/tcp.h>
41 # include <arpa/inet.h>
42 # include <pthread.h>
43 # include <netdb.h>
44 #endif
45 
46 
48 class ClientError : public std::runtime_error {
49 public:
50  ClientError(const char *s) : std::runtime_error(s) {
51  }
52 };
53 
55 class ActCvClient {
56 protected:
59 
62 
63 public:
64  ActCvClient() : isConnected(false) {};
66  if (isConnected) {
67 #ifdef _WINDOWS
68  closesocket(sock);
69 #else
70  close(sock);
71 #endif
72  isConnected=false;
73  }
74  }
75 
85  void ConnectTo(const char* name, int port);
86 
94  void SendKey(int keyCode);
95 
102  void ReadData();
103 };
104 
105 #endif /*TCPCLIENT_H_*/


ACT-CV - Machine Vision for Cognitive Modeling
© 2015 Marc Halbruegge (actcvlibrary@googlemail.com)