mirror of https://github.com/python/cpython
Fix Issue #6005: Examples in the socket library documentation use sendall,
where relevant, instead send method. Patch contributed by Brian Brazil.
This commit is contained in:
parent
ebf691d64c
commit
607e31eddf
|
@ -1,3 +1,5 @@
|
|||
.. _socket-howto:
|
||||
|
||||
****************************
|
||||
Socket Programming HOWTO
|
||||
****************************
|
||||
|
|
|
@ -725,7 +725,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 concept, consult the :ref:`socket-howto`.
|
||||
|
||||
|
||||
.. method:: socket.sendall(string[, flags])
|
||||
|
@ -863,8 +864,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. ::
|
||||
|
@ -882,7 +883,7 @@ The first two examples support IPv4 only. ::
|
|||
while 1:
|
||||
data = conn.recv(1024)
|
||||
if not data: break
|
||||
conn.send(data)
|
||||
conn.sendall(data)
|
||||
conn.close()
|
||||
|
||||
::
|
||||
|
@ -894,7 +895,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('Hello, world')
|
||||
s.sendall('Hello, world')
|
||||
data = s.recv(1024)
|
||||
s.close()
|
||||
print 'Received', repr(data)
|
||||
|
@ -966,7 +967,7 @@ sends traffic to the first one connected successfully. ::
|
|||
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)
|
||||
|
|
|
@ -360,7 +360,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
|
||||
|
@ -390,7 +390,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::
|
||||
|
@ -407,7 +407,7 @@ This is the client side::
|
|||
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 @@ An example for the :class:`ThreadingMixIn` class::
|
|||
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 @@ An example for the :class:`ThreadingMixIn` class::
|
|||
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:
|
||||
|
|
Loading…
Reference in New Issue