oijoijoij
Dependencies: EthernetInterface mbed-rtos mbed
Fork of TCPSocket_HelloWorld by
main.cpp
00001 #include "mbed.h" 00002 #include "EthernetInterface.h" 00003 00004 #define IP "192.168.1.10" 00005 #define GATEWAY "192.168.1.1" 00006 #define MASK "255.255.255.0" 00007 #define DES_ADDR "192.168.1.12" 00008 #define DES_LAPTOP "192.168.1.11" 00009 00010 #define PORT 54321 00011 00012 Serial pc(USBTX,USBRX); 00013 00014 int main() { 00015 00016 int resul=-1; 00017 pc.baud(9600); 00018 00019 /** Configuramos el puerto ethernet **************************************************/ 00020 EthernetInterface eth; 00021 pc.printf("Inicializando el puerto ethernet... \n\r"); 00022 //resul=eth.init(IP,MASK,GATEWAY); 00023 resul=eth.init(); 00024 if(resul==0)pc.printf("Puerto ethernet inicializado correctamente..\n\r"); 00025 00026 pc.printf("Obteniendo direccion IP...resul=%d\n\r",resul); 00027 resul=eth.connect(); 00028 00029 if(resul==0) 00030 pc.printf("IP Address is %s\n", eth.getIPAddress()); 00031 else 00032 pc.printf("Fallo la conexion...IP Address is %s\n\r",eth.getIPAddress()); 00033 /* Terminada la configuración del ethernet */ 00034 00035 /** Creamos el nodo servidor *****************************************************/ 00036 TCPSocketServer server; //crea el objeto de tipo servidor 00037 server.bind(PORT); //Enlaza el socket server a un puerto 00038 server.listen(); //Queda escuchando por una nueva conexion. 00039 /*********************************************************************************/ 00040 00041 /** Esperamos por la conexion de un cliente **************************************/ 00042 while (true) { 00043 printf("\nWait for new connection...\n\r"); 00044 TCPSocketConnection client; //creamos un nuevo cliente 00045 server.accept(client); //aceptamos la conexión de una nuevo cliente 00046 client.set_blocking(true, 1500); // Timeout after (1.5)s 00047 00048 printf("Connection from: %s\n", client.get_address()); 00049 00050 //Define useful variables 00051 char buffer[256]; 00052 char command[20]; 00053 00054 00055 while (true) { 00056 int n = client.receive(buffer, sizeof(buffer)); 00057 if (n <= 0) break; 00058 00059 // print received message to terminal 00060 buffer[n] = '\0'; 00061 printf("Received message from Client :'%s'\n\r",buffer); 00062 00063 sscanf(buffer,"%s",command); 00064 printf("Command detected :'%s'\n\r",command); 00065 00066 if(strcmp(command,"Hello")==0) 00067 { 00068 pc.printf("He recibido el comando Hello...\n\r"); 00069 sprintf(buffer,"%d",1); 00070 client.send_all(buffer, sizeof(buffer)); 00071 } 00072 else 00073 pc.printf("Command not identified.. \n\r"); 00074 00075 00076 00077 /*printf("Received message from Client :'%s'\n\r",buffer); 00078 // reverse the message 00079 char temp; 00080 for(int f = 0, l = n-1; f<l; f++,l--){ 00081 temp = buffer[f]; 00082 buffer[f] = buffer[l]; 00083 buffer[l] = temp; 00084 } 00085 00086 // print reversed message to terminal 00087 printf("Sending message to Client: '%s'\n\r",buffer); 00088 00089 // Echo received message back to client 00090 client.send_all(buffer, n); 00091 if (n <= 0) break;*/ 00092 } 00093 pc.printf("El cliente se ha desconectado..\n\r"); 00094 client.close(); 00095 } 00096 00097 }
Generated on Mon Jul 18 2022 21:03:46 by 1.7.2