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