Ethernet Voice Streaming code
Dependencies: WIZnetInterface mbed
Fork of UDPEchoServer_TEST by
Diff: main.cpp
- Revision:
- 7:345b078c448a
- Parent:
- 6:bd7f46b6fa23
- Child:
- 8:47e9d7df0582
--- 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
}
+
