UDP Seerver LCinet
Dependencies: SDFileSystem WIZnetInterface mbed
Fork of UDPEchoServer by
Revision 7:345b078c448a, committed 2015-08-21
- Comitter:
- eunkyoungkim
- Date:
- Fri Aug 21 02:25:23 2015 +0000
- Parent:
- 6:bd7f46b6fa23
- Child:
- 8:47e9d7df0582
- Commit message:
- UDP Server/Client
Changed in this revision
--- a/EthernetInterface.lib Tue May 05 20:08:42 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/mbed_official/code/EthernetInterface/#097a9996f8d5
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SDFileSystem.lib Fri Aug 21 02:25:23 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/SDFileSystem/#c8f66dc765d4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WIZnetInterface.lib Fri Aug 21 02:25:23 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/WIZnet/code/WIZnetInterface/#3b64df29662f
--- a/main.cpp Tue May 05 20:08:42 2015 +0000 +++ b/main.cpp Fri Aug 21 02:25:23 2015 +0000 @@ -1,27 +1,80 @@ #include "mbed.h" #include "EthernetInterface.h" +#include "SDFileSystem.h" -#define ECHO_SERVER_PORT 7 + +//#define UDPServer 1 +#define UDPClinet 1 + +#if defined(UDPServer) + #define MAC "\x00\x08\xDC\x11\x34\x78" + #define IP "192.168.99.100" + #define MASK "255.255.255.0" + #define GATEWAY "192.168.99.1" +#endif +#if defined(UDPClinet) + #define MAC "\x00\x08\xDC\x11\x34\x90" + #define IP "192.168.99.101" + #define MASK "255.255.255.0" + #define GATEWAY "192.168.99.1" +#endif +const char* ECHO_SERVER_ADDRESS = "192.168.99.100"; +const int ECHO_SERVER_PORT = 7; int main (void) { + EthernetInterface eth; - eth.init(); //Use DHCP + Serial (USBTX, USBRX); + printf("g\n"); + eth.init((uint8_t*)MAC,IP,MASK,GATEWAY); //IP,mask,Gateway + printf("Connecting\n"); eth.connect(); - printf("\nServer IP Address is %s\n", eth.getIPAddress()); - - UDPSocket server; - server.bind(ECHO_SERVER_PORT); +#if defined(UDPServer) + while (true) + { + printf("\nServer IP Address is %s\n", eth.getIPAddress()); + UDPSocket server; + server.bind(ECHO_SERVER_PORT); - Endpoint client; - char buffer[256]; - while (true) { - printf("\nWaiting for UDP packet...\n"); - int n = server.receiveFrom(client, buffer, sizeof(buffer)); - buffer[n] = '\0'; - - printf("Received packet from: %s\n", client.get_address()); - printf("Packet contents : '%s'\n",buffer); - printf("Sending Packet back to Client\n"); - server.sendTo(client, buffer, n); + Endpoint client; + char buffer[256]; + while (true) { + printf("\nWaiting for UDP packet...\n"); + int n = server.receiveFrom(client, buffer, sizeof(buffer)); + if (n <= 0) break; + // print received message to terminal + //buffer[n] = '\0'; + + printf("Received packet from: %s\n", client.get_address()); + printf("Packet contents : '%s'\n",buffer); + printf("Sending Packet back to Client\n"); + server.sendTo(client, buffer, n); + if (n <= 0) break; + } } +#else //Client + printf("\nClient IP Address is %s \n", eth.getIPAddress()); + + UDPSocket sock; + sock.init(); + + Endpoint echo_server; + echo_server.set_address(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT); + + char out_buffer[] = "Hello World"; + printf("Sending message '%s' to server (%s)\n",out_buffer,ECHO_SERVER_ADDRESS); + sock.sendTo(echo_server, out_buffer, sizeof(out_buffer)); + + char in_buffer[256]; + int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer)); + + in_buffer[n] = '\0'; + printf("Received message from server: '%s'\n", in_buffer); + + sock.close(); + + eth.disconnect(); + while(1) {} +#endif } +
--- a/mbed-rtos.lib Tue May 05 20:08:42 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/mbed_official/code/mbed-rtos/#5dfe422a963d
--- a/mbed.bld Tue May 05 20:08:42 2015 +0000 +++ b/mbed.bld Fri Aug 21 02:25:23 2015 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/8a40adfe8776 \ No newline at end of file +http://mbed.org/users/mbed_official/code/mbed/builds/8ed44a420e5c \ No newline at end of file