Modifying a socket's send/receive buffer sizes
The default socket buffer size may not be suitable in many circumstances. In such circumstances, you can change the default socket buffer size to a more suitable value.
How to do it...
Let us manipulate the default socket buffer size using a socket object's setsockopt()
method.
First, define two constants: SEND_BUF_SIZE
/RECV_BUF_SIZE
and then wrap a socket instance's call to the setsockopt()
method in a function. It is also a good idea to check the value of the buffer size before modifying it. Note that we need to set up the send and receive buffer size separately.
Listing 1.8 shows how to modify socket send/receive buffer sizes as follows:
#!/usr/bin/env python # This program is optimized for Python 2.7.12 and Python 3.5.2. # It may run on any other version with/without modifications. import socket SEND_BUF_SIZE = 4096 RECV_BUF_SIZE = 4096 def modify_buff_size(): sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) ...