Fixed the UDP server -- this never worked. Ray Loyzaga deserves
credit for complaining about this and for testing these changes.
diff --git a/Lib/SocketServer.py b/Lib/SocketServer.py
index cf8a365..0d0caac 100644
--- a/Lib/SocketServer.py
+++ b/Lib/SocketServer.py
@@ -265,7 +265,12 @@
max_packet_size = 8192
def get_request(self):
- return self.socket.recvfrom(self.max_packet_size)
+ data, client_addr = self.socket.recvfrom(self.max_packet_size)
+ return (data, self.socket), client_addr
+
+ def server_activate(self):
+ # No need to call listen() for UDP.
+ pass
if hasattr(socket, 'AF_UNIX'):
@@ -411,4 +416,4 @@
self.wfile = StringIO.StringIO(self.packet)
def finish(self):
- self.socket.send(self.wfile.getvalue())
+ self.socket.sendto(self.wfile.getvalue(), self.client_address)