Hey Chris,

I', not to deep into this, but I observed a "wrong magic byte..." or so error 
message from time to time last week.
This came while working at the plc scraper when sending many requests (and 
cancling long running ones).
Could this be a related problem?

Julian

Am 28.11.18, 16:28 schrieb "Christofer Dutz" <[email protected]>:

    Hi all,
    
    today we started working on a first codecentric Plc4x POC using the Siemens 
S7 driver.
    Unfortunately we stumbled into a problem that will probably affect other 
drivers too.
    In the IsoOnTcpProtocol, I check if the packet starts with the IsoOnTcp 
magic number and if enough bytes have been read.
    I was expecting Netty to re-send the buffer, if I don’t consume it. This 
worked nicely in cases of slow networks. However in case of a fast network, 
Netty seems to chunk the responses into 512 byte chunks.
    If I don’t process these, they are not re-sent. Then the next call comes 
and it doesn’t detect the magic byte at the beginning and then an exception is 
thrown.
    
    I need to work out how to handle this case (Fast network and responses with 
a TCP payload greater than 512 bytes)
    
    I’m tracking things in
    PLC4X-76 - When receiving responses with more than 512 byte, the IsoOnTcp 
protocol doesn't work
    https://issues.apache.org/jira/browse/PLC4X-76
    
    Think we should double check the other drivers as I’m expecting Netty to 
behave similarly in other drivers too.
    
    Chris
    
    

Reply via email to