Sample to show hanging during socket initialization
Dependencies: EthernetInterface NTPClient mbed-rtos mbed
sample server (python) to go with the RTOSTest
Import programRTOSTest
Sample to show hanging during socket initialization
#!/usr/bin/python2.7 import sys, os import asyncore, socket import time, datetime class EchoClient(asyncore.dispatcher_with_send): def handle_read(self): buffer = self.recv(1024) if buffer: print str(datetime.datetime.fromtimestamp(time.time())) print buffer else: self.close() class Server(asyncore.dispatcher): def __init__(self, host, port): asyncore.dispatcher.__init__(self) self.create_socket(socket.AF_INET, socket.SOCK_STREAM) self.set_reuse_addr() self.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) self.bind(('', port)) self.listen(8) def handle_accept(self): socket, address = self.accept() print str(datetime.datetime.fromtimestamp(time.time())) print 'Connection by', address EchoClient(socket) s = Server('', 8080) asyncore.loop()
Revision 1:92d3f1118200, committed 2012-09-27
- Comitter:
- jonathonfletcher
- Date:
- Thu Sep 27 12:14:57 2012 +0000
- Parent:
- 0:5197a41c178f
- Commit message:
- add server_ip and server_port at the top of the example.
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 5197a41c178f -r 92d3f1118200 main.cpp --- a/main.cpp Thu Sep 27 12:06:18 2012 +0000 +++ b/main.cpp Thu Sep 27 12:14:57 2012 +0000 @@ -4,6 +4,9 @@ #include "EthernetInterface.h" #include "NTPClient.h" +// XXX: Change this to a valid IP of your network. +const char *server_ip = "10.0.1.253"; +const unsigned short server_port = 8080; const char *newline = "\r\n"; const unsigned int connection_timeout = 6000; @@ -51,7 +54,7 @@ printf("%s:%d nmessages:%d%s", __FILE__, __LINE__, nmessages, newline); if (!socket.is_connected()) { - socket.connect("10.0.1.253", 8080); + socket.connect(server_ip, server_port); } printf("%s:%d%s", __FILE__, __LINE__, newline);