最近在python中使用到了websockets库。该空建立双向通讯相当方便。
一、问题的描述
在使用的过程中,发现了这样的一个问题。
每当客户端通过base64编码上传图片的时候,如果图片超过200K或更大的时候,会发现客户端立马自动断开。实际上是服务器强迫让客户端断开的。
经过分析才明白:原来是服务器不接收超过一定限制的数据量。
二、解决的办法
解决方法就是:让服务器端接收更大的消息内容。
下面是实施的办法:
在websockets的安装库里面,比如:site-packages\websockets\legacy这个文件夹,找到如下图被选中的那三个文件。
分别找到上述被选中的三个文件,找到里面的源代码,其中有项是:max_size: Optional[int] = 2**20
把这代码,改大一点,比如改为:max_size: Optional[int] = 2**30
就这样,问题就得到解决了。
三、知识拓展
通过上述的修改,问题已得到解决了。但是,俺还发现一个地方,也有max_size的存在,位置是:site-packages\websockets
就是上面的这三个源文件,不知道影响不影响什么,总之,一块改成一样的算了,免得以后莫名其妙的出啥问题。