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 /* 00002 * eth1 00003 * 00004 * http://mbed.org/cookbook/Ethernet 00005 * 00006 */ 00007 00008 #include "mbed.h" 00009 00010 #include "EthernetNetIf.h" 00011 #include "TCPSocket.h" 00012 #include "ipaddr.h" 00013 #include "host.h" 00014 00015 00016 EthernetNetIf eth; 00017 00018 00019 DigitalOut myled(LED1); 00020 00021 char* sockErr(int err, int flag=0) { 00022 static char buff[32]; 00023 00024 if(flag == 0 && err == TCPSOCKET_OK) ///<Success 00025 return "TCPSOCKET_OK"; 00026 00027 switch(err) { 00028 case TCPSOCKET_SETUP: ///<TCPSocket not properly configured 00029 return "TCPSOCKET_SETUP"; 00030 case TCPSOCKET_TIMEOUT: ///<Connection timed out 00031 return "TCPSOCKET_TIMEOUT"; 00032 case TCPSOCKET_IF: ///<Interface has problems, does not exist or is not initialized 00033 return "TCPSOCKET_IF"; 00034 case TCPSOCKET_MEM: ///<Not enough mem 00035 return "TCPSOCKET_MEM"; 00036 case TCPSOCKET_INUSE: ///<Interface / Port is in use 00037 return "TCPSOCKET_INUSE"; 00038 case TCPSOCKET_EMPTY: ///<Connections queue is empty 00039 return "TCPSOCKET_EMPTY"; 00040 case TCPSOCKET_RST: 00041 return "TCPSOCKET_RST"; 00042 } 00043 00044 sprintf(buff, "%d", err); 00045 00046 return buff; 00047 } // sockErr 00048 00049 int main() { 00050 00051 printf("eth1\n\r"); 00052 00053 EthernetErr etherr = eth.setup(); 00054 printf("etherr=%d\n\r", etherr); 00055 00056 00057 TCPSocket sock; 00058 TCPSocketErr sockerr; 00059 00060 #if 0 00061 // Send/recv 00062 00063 IpAddr ip(209,85,147,106); // google.com 00064 00065 Host host(ip,80,"google.com"); 00066 00067 sockerr = sock.connect(host); 00068 printf("connect=%s\n\r", sockErr(sockerr)); 00069 00070 int len = sock.send("GET /\n\r", 7); 00071 printf("send=%s\n\r", sockErr(len,1)); 00072 00073 char buff[1024]; 00074 len = sock.recv(buff, sizeof(buff)); 00075 printf("recv=%s\n\r", sockErr(len,1)); 00076 #endif 00077 00078 #if 1 00079 // Listener 00080 00081 Host me(eth.getIp(), 80, "mbed"); 00082 sockerr = sock.bind(me); 00083 printf("bind=%s\n\r", sockErr(sockerr)); 00084 00085 sockerr = sock.listen(); 00086 printf("listen=%s\n\r", sockErr(sockerr)); 00087 00088 Host client; 00089 TCPSocket* pNewTcpSocket; 00090 sockerr = sock.accept(&client, &pNewTcpSocket); 00091 printf("accept=%s\n\r", sockErr(sockerr)); 00092 #endif 00093 00094 } // main 00095 00096 // == end ==
Generated on Tue Jul 12 2022 21:47:28 by
1.7.2