oijoijoij

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of TCPSocket_HelloWorld by mbed official

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers client.cpp Source File

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 */