Machine Vision Status TCP Server

Dependencies:   C12832 EthernetInterface mbed-rtos mbed ConfigFile

Committer:
dwini
Date:
Thu Mar 05 13:18:28 2015 +0000
Revision:
1:8efef658d90b
Child:
2:a8eebf64cd3e
Create TCP Daemon and some logging (most of TRex code).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dwini 1:8efef658d90b 1 #include "EthernetInterface.h"
dwini 1:8efef658d90b 2
dwini 1:8efef658d90b 3 #ifndef TCP_DAEMON_HEADER
dwini 1:8efef658d90b 4 #define TCP_DAEMON_HEADER
dwini 1:8efef658d90b 5
dwini 1:8efef658d90b 6 #define MAX_BACKLOG 1
dwini 1:8efef658d90b 7
dwini 1:8efef658d90b 8 namespace MachineVision{
dwini 1:8efef658d90b 9
dwini 1:8efef658d90b 10 class TcpDaemon{
dwini 1:8efef658d90b 11 public:
dwini 1:8efef658d90b 12 const static int BUFFER_SIZE = 512;
dwini 1:8efef658d90b 13 const static int TCP_TIMEOUT = 1000;
dwini 1:8efef658d90b 14
dwini 1:8efef658d90b 15 private:
dwini 1:8efef658d90b 16 int server_port;
dwini 1:8efef658d90b 17 TCPSocketServer server;
dwini 1:8efef658d90b 18 TCPSocketConnection client;
dwini 1:8efef658d90b 19
dwini 1:8efef658d90b 20 char buffer[BUFFER_SIZE+1];
dwini 1:8efef658d90b 21 bool keepListening;
dwini 1:8efef658d90b 22
dwini 1:8efef658d90b 23 public:
dwini 1:8efef658d90b 24 /*
dwini 1:8efef658d90b 25 * TcpDaemon constructor
dwini 1:8efef658d90b 26 *
dwini 1:8efef658d90b 27 * @server_port the port the daemon will be listening on
dwini 1:8efef658d90b 28 */
dwini 1:8efef658d90b 29 TcpDaemon(int server_port);
dwini 1:8efef658d90b 30
dwini 1:8efef658d90b 31 /*
dwini 1:8efef658d90b 32 * Make the daemon start listening for incoming connections
dwini 1:8efef658d90b 33 */
dwini 1:8efef658d90b 34 void startListening();
dwini 1:8efef658d90b 35
dwini 1:8efef658d90b 36 private:
dwini 1:8efef658d90b 37 /*
dwini 1:8efef658d90b 38 * Bind to server socket
dwini 1:8efef658d90b 39 *
dwini 1:8efef658d90b 40 * @return true on success
dwini 1:8efef658d90b 41 */
dwini 1:8efef658d90b 42 bool bindSocket();
dwini 1:8efef658d90b 43
dwini 1:8efef658d90b 44 /*
dwini 1:8efef658d90b 45 * Listen for incoming connections
dwini 1:8efef658d90b 46 */
dwini 1:8efef658d90b 47 void doListen();
dwini 1:8efef658d90b 48 };
dwini 1:8efef658d90b 49 }
dwini 1:8efef658d90b 50
dwini 1:8efef658d90b 51 #endif