[code.view]

[top] / python / PyMOTW / codecs / codecs_socket_fail.py

     #!/usr/bin/env python
     # encoding: utf-8
     #
     # Copyright (c) 2010 Doug Hellmann.  All rights reserved.
     #
     """Sending Unicode data over a socket.
     """
     #end_pymotw_header
     
     import sys
     import SocketServer
     
     
     class Echo(SocketServer.BaseRequestHandler):
     
         def handle(self):
             # Get some bytes and echo them back to the client.
             data = self.request.recv(1024)
             self.request.send(data)
             return
     
     
     if __name__ == '__main__':
         import codecs
         import socket
         import threading
     
         address = ('localhost', 0) # let the kernel give us a port
         server = SocketServer.TCPServer(address, Echo)
         ip, port = server.server_address # find out what port we were given
     
         t = threading.Thread(target=server.serve_forever)
         t.setDaemon(True) # don't hang on exit
         t.start()
     
         # Connect to the server
         s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         s.connect((ip, port))
     
         # Send the data
         text = u'pi: π'
         len_sent = s.send(text)
     
         # Receive a response
         response = s.recv(len_sent)
         print repr(response)
     
         # Clean up
         s.close()
         server.socket.close()
     

[top] / python / PyMOTW / codecs / codecs_socket_fail.py

contact | logmethods.com