Hi,
I'm currently working on a network driver which is supposed to directly
communicate with TDI driver through \device\tcp device.
I'm correctly sending the TCP request by building TDI_SEND irp and I've
registered a ClientEventReceive handler which is receiving the reply from a web
server.
Everything is working properly, both sending and receiving, though I'm stuck on
a very common issue that I'm not able to get rid off of.
After I sent out a GET request to the web server I start receiving a series of
TSDU messages (not fragmented, everything is fine). Quite often I don't receive
a single TSDU, I receive a number of TSDU packets.
The issue raises here: I don't know exactly what is the ending TSDU packet and
between the last TSDU and the ClientEventDisconnect happens a timeout of around
3 seconds - which is not acceptable wait.
Do you have any hint how I'm supposed to understand which is the TSDU packet
that is ending the series of TSDU packets so that I know the receive even is
ended and I don't have to wait that 3 seconds timeout?
Thanks!
I'm currently working on a network driver which is supposed to directly
communicate with TDI driver through \device\tcp device.
I'm correctly sending the TCP request by building TDI_SEND irp and I've
registered a ClientEventReceive handler which is receiving the reply from a web
server.
Everything is working properly, both sending and receiving, though I'm stuck on
a very common issue that I'm not able to get rid off of.
After I sent out a GET request to the web server I start receiving a series of
TSDU messages (not fragmented, everything is fine). Quite often I don't receive
a single TSDU, I receive a number of TSDU packets.
The issue raises here: I don't know exactly what is the ending TSDU packet and
between the last TSDU and the ClientEventDisconnect happens a timeout of around
3 seconds - which is not acceptable wait.
Do you have any hint how I'm supposed to understand which is the TSDU packet
that is ending the series of TSDU packets so that I know the receive even is
ended and I don't have to wait that 3 seconds timeout?
Thanks!