Pythonでソケットのバッファサイズを変更する

バッファサイズを変更する。
コードは以下の通り:

# -*- coding: utf-8 -*-                                                                                                                                                                            
import socket


def modify_buf_size(send_buf_size=1024, recv_buf_size=1024):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    bufsize = sock.getsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF)  # 送信バッファサイズの取得                                                                                                     
    print 'SEND Buffer size [Before]:%d' % bufsize
    bufsize = sock.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF)  # 受信バッファサイズの取得                                                                                                     
    print 'RECV Buffer size [Before]:%d' % bufsize

    # バッファサイズの変更                                                                                                                                                                         
    sock.setsockopt(
        socket.SOL_SOCKET,
        socket.SO_SNDBUF,
        send_buf_size)
    sock.setsockopt(
        socket.SOL_SOCKET,
        socket.SO_RCVBUF,
        recv_buf_size)

    bufsize = sock.getsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF)
    print 'SEND Buffer size [After]:%d' % bufsize
    bufsize = sock.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF)
    print 'RECV Buffer size [After]:%d' % bufsize


if __name__ == '__main__':
    modify_buf_size(send_buf_size=4096, recv_buf_size=4096)

実行結果は以下の通り:

bash-3.2$ python bufsize.py 
SEND Buffer size [Before]:131072
RECV Buffer size [Before]:131072
SEND Buffer size [After]:4096
RECV Buffer size [After]:4096

Beforeの欄の値は環境によって変わるはず。