python-socket.error[10054]:对象的复制
1、socket.error[10054],对方强制关闭了连接
在用socket.recvfrom时,若事先没有bind时,
先使用socket.sendto,socket.recvfrom
有时会出现socket.error[10054]
原因是因为没有开启接收sendto的服务端
若发送的ADDR是与client在同一网段,不会出现这种问题
但是在中间隔了NAT
猜测:在NAT后,socket.recvrfrom时,由于NAT的原因,若没有事先收到回复包,没有打洞,外面的包进不到NAT内部
路由收到后,所以socket.recvrfrom时就会出错,因为收不到包
2、python 对象的复制
相当于c++的引用
要复制的话最好用copy
3、dict的哈希问题
定义了一个dict={}的全局变量
在func1()中引入dict,并对dict进行了初始化
dict={'1':{{"upRecvTime":0,"downRecvTime":0,"upSendTime":0,"downSendTime":0}},2:{{"upRecvTime":0,"downRecvTime":0,"upSendTime":0,"downSendTime":0}}}
在func2()中引入dict,对dict赋值
dict['1']['upRecvTime']=10
结果dict={'1':{{"upRecvTime":10,"downRecvTime":0,"upSendTime":0,"downSendTime":0}},2:{{"upRecvTime":10,"downRecvTime":0,"upSendTime":0,"downSendTime":0}}}
每个包含"upRecvTime"的value都等于10
猜测:是python对key的哈希出现了问题
把dict={'1':{{"upRecvTime1":0,"downRecvTime1":0,"upSendTime1":0,"downSendTime1":0}},2:{{"upRecvTime2":0,"downRecvTime2":0,"upSendTime2":0,"downSendTime2":0}}}
在赋值的时候就不会出现问题了
备注:但是不使用全局变量,或是在shell中对二级有相同key的,进行复制时,不会出现问题
python-socket.error[10054]:对象的复制的更多相关文章
- python socket.error: [Errno 10054] 解决方法
我用的是python2.7 我搜网上10054错误解决方法的时候发现,大部分文章都是以python3为基础的,对于python2不适用. python socket.error: [Errno 1 ...
- python socket.error: [Errno 24] Too many open files
以openwrt AR9331开发板为例,socket连接到1019个就报错 “python socket.error: [Errno 24] Too many open files” 1.查看开发板 ...
- idhttp post 出现exception class EIdSocketError with message 'Socket Error # 10054的解决办法(捕捉异常,防止程序挂掉)
由于项目需要.需要向一个地址提交数据.提交的次数很频繁,但是程序经常raised exception class EIdSocketError with message 'Socket Error # ...
- [译]Python - socket.error: Cannot assign requested address
原文来源: https://stackoverflow.com/questions/48306528/python-socket-error-cannot-assign-requested-addre ...
- python socket.error: [Errno 10061]
用Python写server和client时候如果server中sock.bind(('localhost', 8001)) 则client中sock.connect(('localhost', 8 ...
- python socket 超时设置 errno10054
python socket.error: [Errno 10054] 远程主机强迫关闭了一个现有的连接.问题解决方案: 前几天使用python读取网页.因为对一个网站大量的使用urlopen操作,所以 ...
- python web开发遇到socket.error[errno 10013]
socket.error[errno 10013],端口被占用 重新换一个端口,或者把占用该端口的程序关闭就可以了
- Python socket进阶 多线程/进程
#首先,什么场合下用进程,什么场合下用线程: . 计算密集型的用进程. . IO密集型的用进程. xSocket语法及相关 Socket Families(地址簇) socket.AF_UNIX un ...
- Python Socket套接字编程
Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...
随机推荐
- [主席树]HDOJ2665 && POJ2104 && POJ2761
主席树真是神奇的物种! Orz一篇资料 题意:给n.m 下面有n个数 (编号1到n) 有m个询问,询问的是上面的数的编号在[l,r]之间第k小的数 n.m的范围都是$10^5$ 是主席树的入门题 ...
- Project Euler 109 :Darts 飞镖
Darts In the game of darts a player throws three darts at a target board which is split into twenty ...
- STL:string 大小(Size)和容量(Capacity)
strings存在三种“大小”: 1.size()和length() 返回string中现在的字符个数.上述两个函数等效. 成员函数empty()用来检验字符数是否为0,亦即字符串是否为空.你应该优先 ...
- Docker搭建MySQL服务
Docker开源镜像 前面我们已经安装好了Docker,也简单了解了Docker.那么我们可以尝试搭建一个MySQL服务. 要搭建服务就要启动服务容器,要创建容易就要有镜像,Docker提供了一个类似 ...
- JSP文件下载及出现getOutputStream() has already been called for this response的解决方法
JSP文件下载及出现getOutputStream() has already been called for this response的解决方法 http://iamin.blogdriver.c ...
- struts2与struts1整合,java.lang.InstantiationException, Exception occurred during processing request: null
做了2个action,其中一个运行没有问题,另一个报错,看下面的报错信息,再看了看struts.xml,因为没有给GetBooks这个action配置actionform,所以就导致报null.下面是 ...
- 用rbenv给整个系统安装ruby(所有用户都可用)
rbenv非常好用,但有一个小问题,每个用户都需要单独安装和设置版本. 下面安装步骤可以安装在/usr/local/rbenv下,所有用户都可以共享rbenv. #rbenv安装(/usr/loc ...
- SpringMVC整合Shiro——(3)
SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能. 第一步:配置web.xml <!-- 配置Shiro过滤器,先让Shiro ...
- jsp页面变量作用域问题
想实现一个注销的功能,在页面上有个注销按钮,我想一点它就注销,用了js给按钮加了onclick代码,如下 <% session = request.getSession(true); ...
- DeepLearning常用库简要介绍与对比
网上近日流传一张DL相关库在Github上的受关注度对比(数据应该是2016/03/15左右统计的): 其中tensorflow,caffe,keras和Theano排名比较靠前. 今日组会报告上tj ...