![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
sfs
Dependencies: EthernetInterface mbed-rtos mbed
main.cpp@0:8864e30d7121, 2016-10-28 (annotated)
- Committer:
- grzemich
- Date:
- Fri Oct 28 06:29:50 2016 +0000
- Revision:
- 0:8864e30d7121
- Child:
- 1:2bdce5c2162d
vfvhg jdb
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
grzemich | 0:8864e30d7121 | 1 | #include "mbed.h" |
grzemich | 0:8864e30d7121 | 2 | #include "EthernetInterface.h" |
grzemich | 0:8864e30d7121 | 3 | |
grzemich | 0:8864e30d7121 | 4 | #define MBED_DEV_IP "192.168.0.52" |
grzemich | 0:8864e30d7121 | 5 | #define MBED_DEV_MASK "255.255.255.0" |
grzemich | 0:8864e30d7121 | 6 | #define MBED_DEV_GW "0.0.0.0" |
grzemich | 0:8864e30d7121 | 7 | #define ECHO_SERVER_PORT 5000 |
grzemich | 0:8864e30d7121 | 8 | |
grzemich | 0:8864e30d7121 | 9 | |
grzemich | 0:8864e30d7121 | 10 | |
grzemich | 0:8864e30d7121 | 11 | int main (void) { |
grzemich | 0:8864e30d7121 | 12 | EthernetInterface eth; |
grzemich | 0:8864e30d7121 | 13 | eth.init(MBED_DEV_IP, MBED_DEV_MASK, MBED_DEV_GW); //Assign a device ip, mask and gateway |
grzemich | 0:8864e30d7121 | 14 | eth.connect(); |
grzemich | 0:8864e30d7121 | 15 | printf("IP Address is %s\n", eth.getIPAddress()); |
grzemich | 0:8864e30d7121 | 16 | |
grzemich | 0:8864e30d7121 | 17 | TCPSocketServer server; |
grzemich | 0:8864e30d7121 | 18 | server.bind(ECHO_SERVER_PORT); |
grzemich | 0:8864e30d7121 | 19 | server.listen(); |
grzemich | 0:8864e30d7121 | 20 | |
grzemich | 0:8864e30d7121 | 21 | while (true) { |
grzemich | 0:8864e30d7121 | 22 | printf("\nWait for new connection...\n"); |
grzemich | 0:8864e30d7121 | 23 | TCPSocketConnection client; |
grzemich | 0:8864e30d7121 | 24 | server.accept(client); |
grzemich | 0:8864e30d7121 | 25 | client.set_blocking(false, 1500); // Timeout after (1.5)s |
grzemich | 0:8864e30d7121 | 26 | |
grzemich | 0:8864e30d7121 | 27 | printf("Connection from: %s\n", client.get_address()); |
grzemich | 0:8864e30d7121 | 28 | printf("Mac address: %s\n", getMACAddress()); |
grzemich | 0:8864e30d7121 | 29 | char buffer[256]; |
grzemich | 0:8864e30d7121 | 30 | while (true) { |
grzemich | 0:8864e30d7121 | 31 | int n = client.receive(buffer, sizeof(buffer)); |
grzemich | 0:8864e30d7121 | 32 | if (n <= 0) break; |
grzemich | 0:8864e30d7121 | 33 | |
grzemich | 0:8864e30d7121 | 34 | client.send_all(buffer, n); |
grzemich | 0:8864e30d7121 | 35 | if (n <= 0) break; |
grzemich | 0:8864e30d7121 | 36 | } |
grzemich | 0:8864e30d7121 | 37 | |
grzemich | 0:8864e30d7121 | 38 | client.close(); |
grzemich | 0:8864e30d7121 | 39 | } |
grzemich | 0:8864e30d7121 | 40 | } |
grzemich | 0:8864e30d7121 | 41 |