TCP Server
Dependencies: EthernetInterface mbed-rtos mbed
Fork of TCPEchoServer by
main.cpp
00001 #include "mbed.h" 00002 #include "EthernetInterface.h" 00003 00004 #define ECHO_SERVER_PORT 7 00005 DigitalOut led1(LED1); 00006 DigitalOut led2(LED2); 00007 DigitalOut led3(LED3); 00008 DigitalOut led4(LED4); 00009 int x; 00010 00011 int main (void) { 00012 EthernetInterface eth; 00013 eth.init(); //Use DHCP 00014 eth.connect(); 00015 printf("IP Address is %s\n\r", eth.getIPAddress()); 00016 00017 TCPSocketServer server; 00018 server.bind(9999); 00019 server.listen(); 00020 00021 while (true) { 00022 printf("Wait for new connection...\n"); 00023 TCPSocketConnection client; 00024 server.accept(client); 00025 //client.set_blocking(false, 1500); // Timeout after (1.5)s 00026 00027 printf("Connection from: %s\n", client.get_address()); 00028 char buffer[1]; 00029 while (true) 00030 { 00031 printf("%s",buffer); 00032 if(client.send(buffer, sizeof(buffer))) 00033 { 00034 led1=1; 00035 wait(1); 00036 led1=0; 00037 } 00038 00039 int n = client.receive(buffer, sizeof(buffer)); 00040 if (n <= 0) break; 00041 client.send_all(buffer, n); 00042 if (n <= 0) break; 00043 } 00044 client.close(); 00045 } 00046 }
Generated on Wed Jul 13 2022 00:25:19 by 1.7.2