1
- :mod: `socketserver ` --- A framework for network servers
1
+
2
+ :mod: `SocketServer ` --- A framework for network servers
2
3
=======================================================
3
4
4
5
.. module :: SocketServer
5
- :synopsis: Old name for the socketserver module.
6
-
7
- .. module :: socketserver
8
6
:synopsis: A framework for network servers.
9
7
10
8
.. note ::
11
- The :mod: `SocketServer ` module has been renamed to :mod: `socketserver ` in
12
- Python 3.0. It is importable under both names in Python 2.6 and the rest of
13
- the 2.x series.
9
+
10
+ The :mod: `SocketServer ` module has been renamed to `socketserver ` in Python
11
+ 3.0. The :term: `2to3 ` tool will automatically adapt imports when converting
12
+ your sources to 3.0.
14
13
15
14
16
- The :mod: `socketserver ` module simplifies the task of writing network servers.
15
+ The :mod: `SocketServer ` module simplifies the task of writing network servers.
17
16
18
17
There are four basic server classes: :class: `TCPServer ` uses the Internet TCP
19
18
protocol, which provides for continuous streams of data between the client and
@@ -220,7 +219,7 @@ server classes like :class:`TCPServer`; these methods aren't useful to external
220
219
users of the server object.
221
220
222
221
.. XXX should the default implementations of these be documented, or should
223
- it be assumed that the user will look at socketserver .py?
222
+ it be assumed that the user will look at SocketServer .py?
224
223
225
224
226
225
.. function :: finish_request()
@@ -325,14 +324,14 @@ request.
325
324
Examples
326
325
--------
327
326
328
- :class: `socketserver .TCPServer ` Example
327
+ :class: `SocketServer .TCPServer ` Example
329
328
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
330
329
331
330
This is the server side::
332
331
333
- import socketserver
332
+ import SocketServer
334
333
335
- class MyTCPHandler(socketserver .BaseRequestHandler):
334
+ class MyTCPHandler(SocketServer .BaseRequestHandler):
336
335
"""
337
336
The RequestHandler class for our server.
338
337
@@ -353,7 +352,7 @@ This is the server side::
353
352
HOST, PORT = "localhost", 9999
354
353
355
354
# Create the server, binding to localhost on port 9999
356
- server = socketserver .TCPServer((HOST, PORT), MyTCPHandler)
355
+ server = SocketServer .TCPServer((HOST, PORT), MyTCPHandler)
357
356
358
357
# Activate the server; this will keep running until you
359
358
# interrupt the program with Ctrl-C
@@ -362,7 +361,7 @@ This is the server side::
362
361
An alternative request handler class that makes use of streams (file-like
363
362
objects that simplify communication by providing the standard file interface)::
364
363
365
- class MyTCPHandler(socketserver .StreamRequestHandler):
364
+ class MyTCPHandler(SocketServer .StreamRequestHandler):
366
365
367
366
def handle(self):
368
367
# self.rfile is a file-like object created by the handler;
@@ -423,14 +422,14 @@ Client::
423
422
Received: PYTHON IS NICE
424
423
425
424
426
- :class: `socketserver .UDPServer ` Example
425
+ :class: `SocketServer .UDPServer ` Example
427
426
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
428
427
429
428
This is the server side::
430
429
431
- import socketserver
430
+ import SocketServer
432
431
433
- class MyUDPHandler(socketserver .BaseRequestHandler):
432
+ class MyUDPHandler(SocketServer .BaseRequestHandler):
434
433
"""
435
434
This class works similar to the TCP handler class, except that
436
435
self.request consists of a pair of data and client socket, and since
@@ -447,7 +446,7 @@ This is the server side::
447
446
448
447
if __name__ == "__main__":
449
448
HOST, PORT = "localhost", 9999
450
- server = socketserver .UDPServer((HOST, PORT), BaseUDPRequestHandler)
449
+ server = SocketServer .UDPServer((HOST, PORT), BaseUDPRequestHandler)
451
450
server.serve_forever()
452
451
453
452
This is the client side::
@@ -482,17 +481,17 @@ An example for the :class:`ThreadingMixIn` class::
482
481
483
482
import socket
484
483
import threading
485
- import socketserver
484
+ import SocketServer
486
485
487
- class ThreadedTCPRequestHandler(socketserver .BaseRequestHandler):
486
+ class ThreadedTCPRequestHandler(SocketServer .BaseRequestHandler):
488
487
489
488
def handle(self):
490
489
data = self.request.recv(1024)
491
490
cur_thread = threading.currentThread()
492
491
response = "%s: %s" % (cur_thread.getName(), data)
493
492
self.request.send(response)
494
493
495
- class ThreadedTCPServer(socketserver .ThreadingMixIn, socketserver .TCPServer):
494
+ class ThreadedTCPServer(SocketServer .ThreadingMixIn, SocketServer .TCPServer):
496
495
pass
497
496
498
497
def client(ip, port, message):
0 commit comments