Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 #include "mbed.h" 00002 #include "EthernetNetIf.h" 00003 #include "TCPSocket.h" 00004 00005 00006 00007 EthernetNetIf eth; 00008 TCPSocket tcp; 00009 Host server(IpAddr(192,168,15,105), 2222); 00010 00011 DigitalOut ledeth(LED1); 00012 DigitalOut ledhost(LED2); 00013 DigitalOut ledsendo(LED3); 00014 DigitalOut ledsende(LED4); 00015 00016 00017 struct 00018 { 00019 int connected; 00020 int writeable; 00021 }flags; 00022 00023 00024 void onTCPSocketEvent(TCPSocketEvent e) 00025 { 00026 //printf("New TCPSocketEvent: %d",e); 00027 switch(e) 00028 { 00029 case TCPSOCKET_CONNECTED: flags.connected = 1;break; 00030 00031 case TCPSOCKET_WRITEABLE: flags.writeable = 1;break; 00032 00033 case TCPSOCKET_CONTIMEOUT: 00034 case TCPSOCKET_CONRST: 00035 case TCPSOCKET_CONABRT: 00036 case TCPSOCKET_ERROR: 00037 case TCPSOCKET_DISCONNECTED: 00038 { 00039 tcp.close(); 00040 flags.connected = 0; 00041 }break; 00042 } 00043 } 00044 00045 void sendMessage(Host host, char* message, int msgLen) 00046 { 00047 00048 TCPSocketErr err = tcp.connect(host); 00049 if(err) 00050 ledhost=0; 00051 else 00052 ledhost=1; 00053 00054 if(/*flags.connected && flags.writeable*/true) 00055 { 00056 // printf("Sending data\n"); 00057 flags.writeable = 0; 00058 int transLen = tcp.send(message,msgLen); 00059 if(transLen != msgLen) 00060 ledsende=1; 00061 // printf("Error in transmission\n"); 00062 } 00063 tcp.close(); 00064 } 00065 00066 int main() 00067 { 00068 EthernetErr ethErr = eth.setup(); 00069 if(ethErr) 00070 ledeth=0; 00071 else 00072 ledeth=1; 00073 00074 tcp.setOnEvent(&onTCPSocketEvent); 00075 while(true) 00076 { 00077 Net::poll(); 00078 sendMessage(server,"Hello Server\n",13); 00079 wait(5); 00080 } 00081 }
Generated on Tue Jul 12 2022 18:12:26 by
1.7.2