sfs

Dependencies:   EthernetInterface mbed-rtos mbed

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?

UserRevisionLine numberNew 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