UDP Seerver LCinet

Dependencies:   SDFileSystem WIZnetInterface mbed

Fork of UDPEchoServer by Mbed

Files at this revision

API Documentation at this revision

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

EthernetInterface.lib Show diff for this revision Revisions of this file
SDFileSystem.lib Show annotated file Show diff for this revision Revisions of this file
WIZnetInterface.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- 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