我没有试过别的语言,这里只是用python写了一个服务器端,
def launch(self): """ 启动服务器 """ while True: print('服务器正在运行,等待客户端连接...') client_socket, client_address = self.tcpServerSocket.accept() # 阻塞等待客户端连接 # 将连接状态写入数据库 _connect = ConnectTable(component=client_address[0], connect=True, time=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')) self.write_db(_connect) self.threadPool.submit(self.receiveMsg, client_socket, client_address) # 为每个client创建一个处理线程
plc在发送的过程中,会一直调用下面的语句,导致线程一直增加,和别的语言不太一样,一般都是连接成功后,不会再连接了。
我感觉PLC中是一直处在连接断开循环中,每次发送数据的socket都不是相同的,PLC端还是最好搞成客户端吧,这样没有问题。
client_socket, client_address = self.tcpServerSocket.accept() # 阻塞等待客户端连接
如果大家有和一样的问题或者比较好的解决办法,可以交流哈,