
TCPTest Server attempt
Dependencies: EthernetNetIf mbed
Revision 0:f8aba92e4c46, committed 2011-03-15
- Comitter:
- OTBsolar
- Date:
- Tue Mar 15 11:50:38 2011 +0000
- Child:
- 1:7785624d8f35
- Commit message:
- beta
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/EthernetNetIf.lib Tue Mar 15 11:50:38 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/donatien/code/EthernetNetIf/#bc7df6da7589
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Mar 15 11:50:38 2011 +0000 @@ -0,0 +1,112 @@ +#include "mbed.h" +#include "EthernetNetIf.h" +#include "TCPSocket.h" + +EthernetNetIf eth; +DigitalOut led1(LED1); + + +TCPSocket tcp; //The listening port where requests are queued +TCPSocket* link; //The port where accepted requests can communicate + +void onTCPSocketEvent(TCPSocketEvent e) +{ + switch(e) + { + case TCPSOCKET_CONNECTED: + printf("Connected\n"); + break; + + case TCPSOCKET_ACCEPT: + printf("Accepted\n"); + break; + + case TCPSOCKET_READABLE: + printf("Readable\n"); + break; + + case TCPSOCKET_WRITEABLE: + printf("Writeable\n"); + break; + + case TCPSOCKET_CONTIMEOUT: + printf("Timeout\n"); + break; + + case TCPSOCKET_CONRST: + printf("Reset\n"); + break; + case TCPSOCKET_CONABRT: + printf("Aborted\n"); + break; + + case TCPSOCKET_ERROR: + printf("Error\n"); + break; + + case TCPSOCKET_DISCONNECTED: + printf("Disconnected\n"); + tcp.close(); + break; + } +} + +int main() { + //********Basic setup******** + printf("Welcome to wireFUSE\n"); + printf("Setting up...\n"); + EthernetErr ethErr = eth.setup(); + if(ethErr) + { + printf("Error %d in setup.\n", ethErr); + return -1; + } + printf("Setup OK\n"); + //****End of basic setup***** + + tcp.setOnEvent(&onTCPSocketEvent); //Generate method + Host local(IpAddr(130,144,3,9), 12345); //mbed IP + Host client; + + Timer tmr; + tmr.start(); + while(true) + { + Net::poll(); + if(tmr.read() > 2) + { + tmr.reset(); + led1=!led1; //Show that we are alive + + //Bind to local port + printf("Init bind..\n"); + TCPSocketErr bindErr = tcp.bind(local); + if(bindErr == 0) { + printf("Bound to port\n"); + } + else { + printf("Error %i\n",bindErr); + } + + //Listen to local port + printf("Init listen..\n"); + TCPSocketErr listenErr = tcp.listen(); + if(listenErr == 0) { + printf("Listening to port"); + } + else { + printf("Error %i\n",listenErr); + } + + //Wait for a connection request + printf("waiting for client on port 12345"); + TCPSocketErr accErr = tcp.accept(&local,&link); + if(accErr == 0) { + printf("Connection accepted\n"); + } + else { + printf("Error opening connection\n"); + } + } + } +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Mar 15 11:50:38 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/e2ac27c8e93e