]> granicus.if.org Git - python/commitdiff
Fix Issue #6005: Examples in the socket library documentation use sendall,
authorSenthil Kumaran <senthil@uthcode.com>
Thu, 9 Feb 2012 09:54:17 +0000 (17:54 +0800)
committerSenthil Kumaran <senthil@uthcode.com>
Thu, 9 Feb 2012 09:54:17 +0000 (17:54 +0800)
where relevant, instead send method.

Doc/howto/sockets.rst
Doc/library/socket.rst
Doc/library/socketserver.rst
Misc/NEWS

index e2703f59598ff4d63e58f5031628229b517f95f8..a4ae9c0b1b7d6ebf43ba5f208c11f91a2a3b58ef 100644 (file)
@@ -1,3 +1,5 @@
+.. _socket-howto:
+
 ****************************
   Socket Programming HOWTO
 ****************************
index b31eb920c6d842d077791175d8d9e33eceb07210..f236d30f26a95ef1c02fd91e8a471538a89e4e8e 100644 (file)
@@ -731,7 +731,8 @@ correspond to Unix system calls applicable to sockets.
    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 topic, consult the :ref:`socket-howto`.
 
 
 .. method:: socket.sendall(bytes[, flags])
@@ -886,8 +887,8 @@ using it.  Note that a server must perform the sequence :func:`socket`,
 :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. ::
@@ -905,7 +906,7 @@ The first two examples support IPv4 only. ::
    while True:
        data = conn.recv(1024)
        if not data: break
-       conn.send(data)
+       conn.sendall(data)
    conn.close()
 
 ::
@@ -917,7 +918,7 @@ The first two examples support IPv4 only. ::
    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(b'Hello, world')
+   s.sendall(b'Hello, world')
    data = s.recv(1024)
    s.close()
    print('Received', repr(data))
@@ -989,7 +990,7 @@ sends traffic to the first one connected successfully. ::
    if s is None:
        print('could not open socket')
        sys.exit(1)
-   s.send(b'Hello, world')
+   s.sendall(b'Hello, world')
    data = s.recv(1024)
    s.close()
    print('Received', repr(data))
index 34bcce0e448079d9ad0bf5e7d96db8e80f2f544a..5287f17a28d9f99cb3e6cc9fa8207c4c3a01b8f8 100644 (file)
@@ -353,7 +353,7 @@ This is the server side::
            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
@@ -383,7 +383,7 @@ objects that simplify communication by providing the standard file interface)::
 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::
@@ -400,7 +400,7 @@ This is the client side::
    try:
        # Connect to server and send data
        sock.connect((HOST, PORT))
-       sock.send(bytes(data + "\n", "utf-8"))
+       sock.sendall(bytes(data + "\n", "utf-8"))
 
        # Receive data from the server and shut down
        received = str(sock.recv(1024), "utf-8")
@@ -498,7 +498,7 @@ An example for the :class:`ThreadingMixIn` class::
            data = str(self.request.recv(1024), 'ascii')
            cur_thread = threading.current_thread()
            response = bytes("{}: {}".format(cur_thread.name, data), 'ascii')
-           self.request.send(response)
+           self.request.sendall(response)
 
    class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
        pass
@@ -507,7 +507,7 @@ An example for the :class:`ThreadingMixIn` class::
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.connect((ip, port))
        try:
-           sock.send(bytes(message, 'ascii'))
+           sock.sendall(bytes(message, 'ascii'))
            response = str(sock.recv(1024), 'ascii')
            print("Received: {}".format(response))
        finally:
index 4a38b148a0dc96f4100d76af8f37b6eacb316541..242c08ca2c69fd8547c1ca416f75fe05978c0dca 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -113,6 +113,9 @@ Core and Builtins
 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.