西门子 s1200 TCP作为客户端存在的问题

我没有试过别的语言,这里只是用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()  # 阻塞等待客户端连接

如果大家有和一样的问题或者比较好的解决办法,可以交流哈,

猜你喜欢

转载自www.cnblogs.com/haozhangcool/p/13387687.html