python 中的10053错误,请指点。

upselfever 2008-07-23 09:15:26
我写了一个报文收发程序(服务端),其中接收报文的片段如下:
-------------------------------------------------
#接收报文函数
1:def recv90(conn):
2: if conn==None:
3: return 'socket error'
4: data=conn.recv(8)
5: msglen=String2Int(data[2:4]) #String2Int是将报文中的两个字节内容转换成一个整数,这两个字节记录的是报文的长度。
6: rdata=data+conn.recv(msglen)
7: print 'RECV:',ToHexString(rdata) #ToHexString是将字符串转成16进制形式,比如将"ABC"->"41 42 43"
8: return rdata
--------------------------------------------------------
主程序中调用这个函数,传入socket连接。
开始运行很正常,收发都正常。
但是当客户端中断连接后,又重新连接到服务端,并给服务端发了报文,服务端在利用这个接收函数接收时,程序提示在第4行报错。
data=conn.recv(8)
socket.error: (10053, 'Software caused connection abort')

不知道为何。
...全文
225 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Semigod 2008-07-23
  • 打赏
  • 举报
回复
看看你是否重新传入了conn,如果不是,那肯定错了,因为原来 的socket已经关闭了
山水孤狼 2008-07-23
  • 打赏
  • 举报
回复
不懂。关注
海楓 2008-07-23
  • 打赏
  • 举报
回复
未用python弄過網絡方面的,友情頂一下.

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧