Skip to content

Commit f7cd703

Browse files
author
侯锐
committed
修复写数据时因为写缓冲满而不可写,因此导致错误的问题
1 parent 43477aa commit f7cd703

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

dubbo/connection/connections.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,8 +342,19 @@ def write(self, data):
342342
向远程主机写数据
343343
:return:
344344
"""
345-
# TODO 这里有可能存在一次无法发送完毕的情况
346-
self.__sock.send(data)
345+
while 1:
346+
try:
347+
length = self.__sock.send(data)
348+
if length == len(data):
349+
break
350+
else:
351+
# 截取尚未写完的数据,接下来再次发送
352+
data = data[length:]
353+
except socket.error as e:
354+
if e.errno == 35:
355+
time.sleep(.01)
356+
else:
357+
raise
347358

348359
def read(self, callback):
349360
"""

0 commit comments

Comments
 (0)