当前位置:   article > 正文

「python网络编程」查看并修改socket接收和发送缓冲区大小_python socket 通讯大小

python socket 通讯大小

原创不易,点个赞呗!

一般情况,我们并不关心 socket 的默认缓冲区大小。

但最近,使用非租塞 socekt 通信时,遇到了一些奇怪的问题,需要查看 socekt 的缓冲区大小,以此证明我的代码没问题,是处理端读取太慢,甩锅给别人…程序员之间的博弈,哈哈哈

利用 socekt 选项,可以查看或修改缓冲区大小,记录代码如下:

# _*_ coding:utf-8 _*_

"""
查看并修改socket缓存区大小
"""
import socket

sock = socket.socket()

# 查看默认发送接收缓冲区大小
recv_buff = sock.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF)
send_buff = sock.getsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF)
print(f'默认接收缓冲区大小:{recv_buff}。默认发送缓冲区大小:{send_buff}')

# 设置接收缓冲区大小为1024
sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 1024)

# 设置发送缓冲区大小为2048
sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 2048)

# 查看修改后发送接收缓冲区大小
recv_buff = sock.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF)
send_buff = sock.getsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF)
print(f'修改后接收缓冲区大小:{recv_buff}。修改后发送缓冲区大小:{send_buff}')

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

运行结果:

默认接收缓冲区大小:65536。默认发送缓冲区大小:65536
修改后接收缓冲区大小:1024。修改后发送缓冲区大小:2048
  • 1
  • 2

END.

工作之余,喜欢写些东西,涉及编程生活热点等。感兴趣的微信朋友,可以搜一搜公众号:【程序员的一天】,欢迎关注、支持,谢谢!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/278325
推荐阅读
相关标签
  

闽ICP备14008679号