@cryptotaxi247 / netdata-1 / commits / adb318456

fix sockets (i hope)

paulfantom committed Jul 13, 2016 at 20:43 UTC adb3184569ce7671430f823fe27aae5c3e3a81ea
1 file changed +21 -12
python.d/python_modules/base.py
+21 -12
@@ -486,6 +486,8 @@ class SocketService(SimpleService):
486 if self.unix_socket is None:
487 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
488 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
489 + #sock.setsockopt(socket.SOL_SOCKET, socket.TCP_NODELAY, 1)
490 + #sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
491 sock.settimeout(self.update_every)
492 sock.connect((self.host, self.port))
493 else:
@@ -511,19 +513,26 @@ class SocketService(SimpleService):
513 return None
514
515 #data = sock.recv(2)
514 - data = ""
516 + # data = ""
517 + # try:
518 + # while True:
519 + # #try:
520 + # buf = sock.recv(1024, 0x40) # get 1024 bytes in NON-BLOCKING mode
521 + # #except socket.error:
522 + # # break
523 + #
524 + # if len(buf) == 0:
525 + # break
526 + # else:
527 + # data += buf.decode()
528 + # except Exception as e:
529 + # self.error(str(e))
530 + # sock.close()
531 + # return None
532 try:
516 - while True:
517 - #try:
518 - buf = sock.recv(1024, 0x40) # get 1024 bytes in NON-BLOCKING mode
519 - #except socket.error:
520 - # break
521 -
522 - if len(buf) == 0:
523 - break
524 - else:
525 - data += buf.decode()
526 - except:
533 + data = sock.recv(65535, 0x40).decode()
534 + except Exception as e:
535 + self.error(str(e))
536 sock.close()
537 return None
538