gavin beardall
/
EthernetNetIf
main.cpp
- Committer:
- gbeardall
- Date:
- 2011-10-17
- Revision:
- 0:715023d993d6
File content as of revision 0:715023d993d6:
/* * eth1 * * http://mbed.org/cookbook/Ethernet * */ #include "mbed.h" #include "EthernetNetIf.h" #include "TCPSocket.h" #include "ipaddr.h" #include "host.h" EthernetNetIf eth; DigitalOut myled(LED1); char* sockErr(int err, int flag=0) { static char buff[32]; if(flag == 0 && err == TCPSOCKET_OK) ///<Success return "TCPSOCKET_OK"; switch(err) { case TCPSOCKET_SETUP: ///<TCPSocket not properly configured return "TCPSOCKET_SETUP"; case TCPSOCKET_TIMEOUT: ///<Connection timed out return "TCPSOCKET_TIMEOUT"; case TCPSOCKET_IF: ///<Interface has problems, does not exist or is not initialized return "TCPSOCKET_IF"; case TCPSOCKET_MEM: ///<Not enough mem return "TCPSOCKET_MEM"; case TCPSOCKET_INUSE: ///<Interface / Port is in use return "TCPSOCKET_INUSE"; case TCPSOCKET_EMPTY: ///<Connections queue is empty return "TCPSOCKET_EMPTY"; case TCPSOCKET_RST: return "TCPSOCKET_RST"; } sprintf(buff, "%d", err); return buff; } // sockErr int main() { printf("eth1\n\r"); EthernetErr etherr = eth.setup(); printf("etherr=%d\n\r", etherr); TCPSocket sock; TCPSocketErr sockerr; #if 0 // Send/recv IpAddr ip(209,85,147,106); // google.com Host host(ip,80,"google.com"); sockerr = sock.connect(host); printf("connect=%s\n\r", sockErr(sockerr)); int len = sock.send("GET /\n\r", 7); printf("send=%s\n\r", sockErr(len,1)); char buff[1024]; len = sock.recv(buff, sizeof(buff)); printf("recv=%s\n\r", sockErr(len,1)); #endif #if 1 // Listener Host me(eth.getIp(), 80, "mbed"); sockerr = sock.bind(me); printf("bind=%s\n\r", sockErr(sockerr)); sockerr = sock.listen(); printf("listen=%s\n\r", sockErr(sockerr)); Host client; TCPSocket* pNewTcpSocket; sockerr = sock.accept(&client, &pNewTcpSocket); printf("accept=%s\n\r", sockErr(sockerr)); #endif } // main // == end ==