@@ -102,7 +102,9 @@ def handle(self):
102102 if data :
103103 if _logger .isEnabledFor (logging .DEBUG ):
104104 _logger .debug (" " .join ([hex (byte2int (x )) for x in data ]))
105- self .framer .processIncomingPacket (data , self .execute )
105+ unit_address = byte2int (data [0 ])
106+ if unit_address in self .server .context :
107+ self .framer .processIncomingPacket (data , self .execute )
106108 except Exception as msg :
107109 # since we only have a single socket, we cannot exit
108110 # Clear frame buffer
@@ -198,14 +200,15 @@ class ModbusDisconnectedRequestHandler(ModbusBaseRequestHandler):
198200 only difference is that we have to specify who to send the
199201 resulting packet data to.
200202 '''
203+ socket = None
201204
202205 def handle (self ):
203206 ''' Callback when we receive any data
204207 '''
205208 reset_frame = False
206209 while self .running :
207210 try :
208- data , self .request = self .request
211+ data , self .socket = self .request
209212 if not data :
210213 self .running = False
211214 if _logger .isEnabledFor (logging .DEBUG ):
@@ -236,7 +239,7 @@ def send(self, message):
236239 pdu = self .framer .buildPacket (message )
237240 if _logger .isEnabledFor (logging .DEBUG ):
238241 _logger .debug ('send: %s' % b2a_hex (pdu ))
239- return self .request .sendto (pdu , self .client_address )
242+ return self .socket .sendto (pdu , self .client_address )
240243
241244
242245#---------------------------------------------------------------------------#
0 commit comments