为什么shocket通讯服务器接收一次就自动断开了

from vcScript import *
import socket

comp = getComponent()
IP = '127.0.0.1'
PROT = 6002
SIZE = 1024

def OnRun():
listensocekt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listensocekt.settimeout(300)
listensocekt.setblocking(False)
listensocekt.bind((IP,PROT))
listensocekt.listen(1)

# 开始循环,等待客户端连接,接受消息和反馈
buffer = bytearray()
bufferTemp = bytearray()
while True:
  while True:
    try:
        datasocket, addr = listensocekt.accept()
    except:
        delay(0.1)
        continue
    else:
        print("连接的客户端: %s" % str(addr))
        datasocket.setblocking(False)
    
    while True:
      try:
        bufferTemp = datasocket.recv(SIZE)
      except:
        delay(0.1)
        continue
      else:
        buffer += bufferTemp
      if len(bufferTemp) < SIZE:
        feedBack = Handler(buffer.decode('utf-8'))
        try:
          datasocket.send(feedBack.encode('utf-8'))
        except:
          print buffer
          if not bufferTemp:
            break
        else:
          continue

def Handler(cmd):
print(cmd)
if cmd == "":
return None

datasocket.close()
listensocekt.close()

代码没有用 插入代码功能。 大概看了逻辑,感觉问题出现在这里。

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632