TCPEchoServer example for WIZwiki-W7500
Dependencies: WIZnetInterface mbed
Fork of TCPEchoServer by
main.cpp
00001 #include "mbed.h" 00002 #include "EthernetInterface.h" 00003 00004 #define ECHO_SERVER_PORT 7 00005 00006 int main (void) 00007 { 00008 printf("Wait a second...\r\n"); 00009 uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02}; 00010 EthernetInterface eth; 00011 eth.init(mac_addr); //Use DHCP 00012 eth.connect(); 00013 printf("Server IP Address is %s\r\n", eth.getIPAddress()); 00014 00015 TCPSocketServer server; 00016 server.bind(ECHO_SERVER_PORT); 00017 server.listen(); 00018 00019 while (true) 00020 { 00021 printf("Wait for new connection...\r\n"); 00022 TCPSocketConnection client; 00023 server.accept(client); 00024 client.set_blocking(false, 15000); // Timeout after (1.5)s 00025 00026 printf("Connection from: %s\r\n", client.get_address()); 00027 char buffer[256]; 00028 while (true) { 00029 int n = client.receive(buffer, sizeof(buffer)); 00030 if (n <= 0) break; 00031 00032 // print received message to terminal 00033 buffer[n] = '\0'; 00034 printf("Received message from Client :'%s'\r\n",buffer); 00035 00036 // reverse the message 00037 char temp; 00038 for(int f = 0, l = n-1; f<l; f++,l--){ 00039 temp = buffer[f]; 00040 buffer[f] = buffer[l]; 00041 buffer[l] = temp; 00042 } 00043 00044 // print reversed message to terminal 00045 printf("Sending message to Client: '%s'\r\n",buffer); 00046 00047 // Echo received message back to client 00048 client.send_all(buffer, n); 00049 if (n <= 0) break; 00050 } 00051 00052 client.close(); 00053 } 00054 00055 } 00056
Generated on Sat Jul 16 2022 01:47:46 by 1.7.2