急!!python 出现:[Errno 11] Resource temporarily unavailable

yy2535122 2012-05-17 10:36:43
急!!!我在python去接收recv()。出现
error: uncaptured python exception, closing channel <AirPlayService.AirPlayProtocolHandler connected 172.16.11.237:60833 at 0x9024d4c> (<class 'socket.error'>:[Errno 11] Resource temporarily unavailable [/usr/lib/python2.6/asyncore.py|read|78] [/usr/lib/python2.6/asyncore.py|handle_read_event|428] [/root/.local/share/totem/plugins/airplay/totem-plugin-airplay/AirPlayService.py|handle_read|101] [/root/.local/share/totem/plugins/airplay/totem-plugin-airplay/AirPlayService.py|read_from_socket|74] [/usr/lib/python2.6/asyncore.py|recv|373])

我的代码是:

def read_from_socket(self, socket):
data = socket.recv(1024)
print "yy test baseairplayrequest@@@@@@ %s" %(data)
if not data:
return False
print "yy test BaseAirPlayRequest@@@@@@@@@2"
# we split the message into HTTP headers and content body
message = data.split("\r\n\r\n", 1)
headers = message[0]
headerlines = headers.splitlines()

# parse request headers
command = headerlines[0].split()
self.type = command[0]
self.uri = command[1]
self.version = command[2]
del headerlines[0]
self.headers = self.parse_headers(headerlines)

# parse any uri query parameters
print "yy test BaseAirPlayRequest parse any uri query parameters"
self.params = None
if (self.uri.find('?')):
url = urlparse(self.uri)
if (url[4] is not ""):
self.params = dict([part.split('=') for part in url[4].split('&')])
self.uri = url[2]

# parse message body
if (int(self.headers['Content-Length']) > 0):
self.body = message[1]
print "len body=%d, len content = %d" %(len(self.body),int(self.headers['Content-Length']))
# read more data if we have to
if len(self.body) < int(self.headers['Content-Length']):
while 1:
print "while 11111111111"
data = socket.recv(8196)
print "!!!data = %s,len = %d" %(data,len(data))
if not data:
break
self.body = self.body + data

在while 1里面 循环了两次以后就出现问题。我客户端的数据是ok的,我抓包可以看到数据已经全部都可以下来。所以可以排除客户端问题,网上说设置非阻塞socket.setblocking(0)就可以,但是我设置了也没用。急,谁能帮看看
...全文
1032 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
甲克虫1 2014-12-16
  • 打赏
  • 举报
回复
error: uncaptured python exception, closing channel <EnvAdminSys.EnvAdminSysApp. envModify.commbin.mml_client.mml_client connected 10.141.121.231:6000 at 0x3a4d6 c0> (<class 'socket.error'>:[Errno 10035] [C:\Python26\lib\asynchat.py|handle_r ead|110] [C:\Python26\lib\asyncore.py|recv|365])
甲克虫1 2014-12-16
  • 打赏
  • 举报
回复
我也遇到同样的问题:
zengna_com 2012-05-17
  • 打赏
  • 举报
回复
格式重排一下。怎么看啊~![ code=Python][ /code]

37,741

社区成员

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

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