oijoijoij
Dependencies: EthernetInterface mbed-rtos mbed
Fork of TCPSocket_HelloWorld by
client.cpp
00001 /*#include "mbed.h" 00002 #include "EthernetInterface.h" 00003 00004 #define PORT 54321 00005 00006 #define LEN_PACKET 1460 00007 00008 #define IP "192.168.0.10" 00009 #define GATEWAY "192.168.0.1" 00010 #define MASK "255.255.255.0" 00011 #define DES_ADDR "192.168.0.12" 00012 #define DES_LAPTOP "192.168.0.11" 00013 00014 #define LEN 18980 00015 uint16_t sample_array0[LEN]; 00016 00017 Serial pc(USBTX,USBRX); 00018 00019 int main (void) { 00020 for(int i = 0; i < LEN; i++) sample_array0[i] = ((0x0031<<8) | 0x0032); 00021 pc.baud(9600); 00022 pc.printf("Starting test client\r\n"); 00023 EthernetInterface eth; 00024 eth.init(IP, MASK, GATEWAY); 00025 eth.connect(); 00026 pc.printf("IP Address is %s\r\n", eth.getIPAddress()); 00027 00028 TCPSocketConnection mallet; 00029 mallet.set_blocking(false,5000); 00030 char buffer[LEN_PACKET]; 00031 00032 for(int i = 0; i < LEN_PACKET; i++) buffer[i] = i; 00033 while (true) { 00034 if(pc.readable() > 0){ 00035 char temp = pc.getc(); 00036 int var = 0; 00037 switch(temp){ 00038 case 'Q': 00039 case 'q': 00040 pc.printf("Intentando conectar a DES_LAPTOP (192.168.0.11) ..\n\r"); 00041 var = mallet.connect(DES_LAPTOP,PORT); 00042 if(var == 0) pc.printf("Connected to laptop successfully\r\n"); 00043 else if(var == -1) pc.printf("Connecting failed\r\n"); 00044 break; 00045 case 'A': 00046 case 'a': 00047 pc.printf("Intentando conectar a DES_ACER (192.168.0.12) ..\n\r"); 00048 var = mallet.connect(DES_ADDR,PORT); 00049 if(var == 0) pc.printf("Connected to ACER server successfully\r\n"); 00050 else if(var == -1) pc.printf("Connecting failed\r\n"); 00051 break; 00052 case 'S': 00053 case 's': 00054 pc.printf("Enviando informacion..\n\r"); 00055 var = mallet.send(buffer,LEN_PACKET); 00056 pc.printf("Sent %i bytes\r\n",var); 00057 break; 00058 case 'D': 00059 case 'd': 00060 pc.printf("Recibiendo informacion..\n\r"); 00061 var = mallet.receive_all((char *)sample_array0,LEN*2); 00062 pc.printf("Received %i bytes\r\n",var); 00063 break; 00064 case 'F': 00065 case 'f': 00066 pc.printf("Cerrando conexion..\n\r"); 00067 var = mallet.close(); 00068 if(var == 0) pc.printf("Connection closed\r\n"); 00069 else pc.printf("Error while closing connection\r\n"); 00070 break; 00071 case 'Z': 00072 case 'z': 00073 pc.printf("Status: "); 00074 if(mallet.is_connected()) pc.printf("Connected\r\n"); 00075 else pc.printf("Not connected\r\n"); 00076 break; 00077 case 'R': 00078 case 'r': 00079 pc.printf("Haciendo todo un proceso de abrir socket y enviar informacion..\n\r"); 00080 // open connection 00081 var = mallet.connect(DES_ADDR,PORT); 00082 if(var == 0) pc.printf("Connected successfully\r\n"); 00083 else if(var == -1) pc.printf("Connection already open\r\n"); 00084 00085 // send data 00086 var = mallet.send(buffer,LEN_PACKET); 00087 pc.printf("Sent %i bytes\r\n",var); 00088 00089 // receive data 00090 var = mallet.receive_all((char *)sample_array0,LEN*2); 00091 pc.printf("Received %i bytes\r\n",var); 00092 00093 // closed connection 00094 var = mallet.close(); 00095 if(var == 0) pc.printf("Connection closed\r\n\n"); 00096 else pc.printf("Error while closing connection\r\n\n"); 00097 break; 00098 case 'L': 00099 case 'l': 00100 for(int i = 0; i < 1000; i++){ 00101 //wait_ms(100); 00102 pc.printf("%3i: ",i); 00103 00104 // open connection 00105 var = mallet.connect(DES_ADDR,PORT); 00106 if(var == -1) {i = 50; break;} 00107 00108 // send data 00109 var = mallet.send(buffer,LEN_PACKET); 00110 pc.printf("Sent %i: ",var); 00111 if(var == -1) {i = 50; break;} 00112 00113 // receive data 00114 var = mallet.receive_all((char *)sample_array0,LEN*2); 00115 pc.printf("Rec %i: ",var); 00116 if(var == -1) {i = 50; break;} 00117 00118 // closed connection 00119 var = mallet.close(); 00120 if(var == -1) {i = 50; break;} 00121 pc.printf("\r\n"); 00122 00123 } 00124 break; 00125 } 00126 } 00127 } 00128 } 00129 */
Generated on Mon Jul 18 2022 21:03:46 by 1.7.2