Machine Vision Status TCP Server
Dependencies: C12832 EthernetInterface mbed-rtos mbed ConfigFile
TcpDaemon.h
- Committer:
- dwini
- Date:
- 2015-03-11
- Revision:
- 4:339a85b66476
- Parent:
- 3:254a2671a8e3
- Child:
- 5:7a32c081a3fa
File content as of revision 4:339a85b66476:
#ifndef TCP_DAEMON_HEADER #define TCP_DAEMON_HEADER #include "mbed.h" #include "EthernetInterface.h" #include "ExternalTrigger.h" #define MAX_BACKLOG 1 #define TRIGGER_MSG "TRIGGER\r\n" namespace MachineVision{ class TcpDaemon{ public: const static int BUFFER_SIZE = 512; const static int TCP_TIMEOUT = 250; const static int TCP_ACCEPT_TIMEOUT = 500; const static int MAX_READ_TIMEOUTS = 10; // Maximum number of times to retry to read for rest of message private: int server_port; TCPSocketServer server; TCPSocketConnection client; char buffer[BUFFER_SIZE+1]; bool keepListening; DigitalOut accept_led; DigitalOut receive_led; ExternalTrigger trigger; public: /* * TcpDaemon constructor * * @server_port the port the daemon will be listening on */ TcpDaemon(int server_port, PinName accept_led_pin, PinName receive_led_pin, PinName trigger_pin); /* * Make the daemon start listening for incoming connections */ void startListening(); private: /* * Bind to server socket * * @return true on success */ bool bindSocket(); /* * Listen for incoming connections */ void doListen(); void checkTrigger(void); }; } #endif