[Python-checkins] cpython (2.7): Fix Issue #6005: Examples in the socket library documentation use sendall,

senthil.kumaran python-checkins at python.org
Thu Feb 9 10:44:47 CET 2012


http://hg.python.org/cpython/rev/aa6415d1e160
changeset:   74844:aa6415d1e160
branch:      2.7
parent:      74829:a47f97bd3c33
user:        Senthil Kumaran <senthil at uthcode.com>
date:        Thu Feb 09 17:43:31 2012 +0800
summary:
  Fix Issue #6005: Examples in the socket library documentation use sendall,
where relevant, instead send method. Patch contributed by Brian Brazil.

files:
  Doc/howto/sockets.rst        |   2 ++
  Doc/library/socket.rst       |  13 +++++++------
  Doc/library/socketserver.rst |  10 +++++-----
  Misc/NEWS                    |   3 +++
  4 files changed, 17 insertions(+), 11 deletions(-)


diff --git a/Doc/howto/sockets.rst b/Doc/howto/sockets.rst
--- a/Doc/howto/sockets.rst
+++ b/Doc/howto/sockets.rst
@@ -1,3 +1,5 @@
+.. _socket-howto:
+
 ****************************
   Socket Programming HOWTO
 ****************************
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -725,7 +725,8 @@
    optional *flags* argument has the same meaning as for :meth:`recv` above.
    Returns the number of bytes sent. Applications are responsible for checking that
    all data has been sent; if only some of the data was transmitted, the
-   application needs to attempt delivery of the remaining data.
+   application needs to attempt delivery of the remaining data. For further
+   information on this concept, consult the :ref:`socket-howto`.
 
 
 .. method:: socket.sendall(string[, flags])
@@ -863,8 +864,8 @@
 :meth:`~socket.bind`, :meth:`~socket.listen`, :meth:`~socket.accept` (possibly
 repeating the :meth:`~socket.accept` to service more than one client), while a
 client only needs the sequence :func:`socket`, :meth:`~socket.connect`.  Also
-note that the server does not :meth:`~socket.send`/:meth:`~socket.recv` on the
-socket it is listening on but on the new socket returned by
+note that the server does not :meth:`~socket.sendall`/:meth:`~socket.recv` on
+the socket it is listening on but on the new socket returned by
 :meth:`~socket.accept`.
 
 The first two examples support IPv4 only. ::
@@ -882,7 +883,7 @@
    while 1:
        data = conn.recv(1024)
        if not data: break
-       conn.send(data)
+       conn.sendall(data)
    conn.close()
 
 ::
@@ -894,7 +895,7 @@
    PORT = 50007              # The same port as used by the server
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((HOST, PORT))
-   s.send('Hello, world')
+   s.sendall('Hello, world')
    data = s.recv(1024)
    s.close()
    print 'Received', repr(data)
@@ -966,7 +967,7 @@
    if s is None:
        print 'could not open socket'
        sys.exit(1)
-   s.send('Hello, world')
+   s.sendall('Hello, world')
    data = s.recv(1024)
    s.close()
    print 'Received', repr(data)
diff --git a/Doc/library/socketserver.rst b/Doc/library/socketserver.rst
--- a/Doc/library/socketserver.rst
+++ b/Doc/library/socketserver.rst
@@ -360,7 +360,7 @@
            print "{} wrote:".format(self.client_address[0])
            print self.data
            # just send back the same data, but upper-cased
-           self.request.send(self.data.upper())
+           self.request.sendall(self.data.upper())
 
    if __name__ == "__main__":
        HOST, PORT = "localhost", 9999
@@ -390,7 +390,7 @@
 The difference is that the ``readline()`` call in the second handler will call
 ``recv()`` multiple times until it encounters a newline character, while the
 single ``recv()`` call in the first handler will just return what has been sent
-from the client in one ``send()`` call.
+from the client in one ``sendall()`` call.
 
 
 This is the client side::
@@ -407,7 +407,7 @@
    try:
        # Connect to server and send data
        sock.connect((HOST, PORT))
-       sock.send(data + "\n")
+       sock.sendall(data + "\n")
 
        # Receive data from the server and shut down
        received = sock.recv(1024)
@@ -505,7 +505,7 @@
            data = self.request.recv(1024)
            cur_thread = threading.current_thread()
            response = "{}: {}".format(cur_thread.name, data)
-           self.request.send(response)
+           self.request.sendall(response)
 
    class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
        pass
@@ -514,7 +514,7 @@
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.connect((ip, port))
        try:
-           sock.send(message)
+           sock.sendall(message)
            response = sock.recv(1024)
            print "Received: {}".format(response)
        finally:
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -90,6 +90,9 @@
 Library
 -------
 
+- Issue #6005: Examples in the socket library documentation use sendall, where
+  relevant, instead send method.
+
 - Issue #10811: Fix recursive usage of cursors. Instead of crashing,
   raise a ProgrammingError now.
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list