Dependencies:   mbed

Revision:
0:715023d993d6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Oct 17 10:39:17 2011 +0000
@@ -0,0 +1,96 @@
+/*
+ * 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 ==