eth
Dependencies: EthernetInterface mbed-rtos mbed
Fork of FRDM_K64F-Ethernet by
Diff: main.cpp
- Revision:
- 0:bbc9cfdee3bc
- Child:
- 1:52ba06578336
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Sep 22 02:34:12 2014 +0000 @@ -0,0 +1,38 @@ +#include "mbed.h" +#include "EthernetInterface.h" + +#define MBED_DEV_IP "192.168.0.52" +#define MBED_DEV_MASK "255.255.255.0" +#define MBED_DEV_GW "0.0.0.0" +#define ECHO_SERVER_PORT 5000 + + +int main (void) { + EthernetInterface eth; + eth.init(MBED_DEV_IP, MBED_DEV_MASK, MBED_DEV_GW); //Assign a device ip, mask and gateway + eth.connect(); + printf("IP Address is %s\n", eth.getIPAddress()); + + TCPSocketServer server; + server.bind(ECHO_SERVER_PORT); + server.listen(); + + while (true) { + printf("\nWait for new connection...\n"); + TCPSocketConnection client; + server.accept(client); + client.set_blocking(false, 1500); // Timeout after (1.5)s + + printf("Connection from: %s\n", client.get_address()); + char buffer[256]; + while (true) { + int n = client.receive(buffer, sizeof(buffer)); + if (n <= 0) break; + + client.send_all(buffer, n); + if (n <= 0) break; + } + + client.close(); + } +} \ No newline at end of file