Machine Vision Status TCP Server
Dependencies: C12832 EthernetInterface mbed-rtos mbed ConfigFile
TcpDaemon.h@1:8efef658d90b, 2015-03-05 (annotated)
- 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?
User | Revision | Line number | New 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 |