Hi,
Because the design of our server, in my client driver I have to create an
connection, send one or two small request(s), and receive a block of data
and tear down the connection. And this could be very frequent operations (I
know I know it is slow, wasteful, plainly against TCP optimization).
Therefore I need something like Winsock setsockopt TCP_NODELAY,
SO_DONTLINGER on the Tdi client connection. The driver has to work for NT
4.0, 2k, and XP, setting registry is not an option. Is there any Ioctl I can
send to tcp driver for that purpose? Is tdi client connection default to
SO_DONTLINGER as socket? Is it helpful if I OR the IRP flag to IRP_NOCACHE
on the IRP from TdiBuildSend to achive the TCP_NODELAY?
Another question is if I disassociate the file object obtained from the
handle of ZwCreateFile, could I use the same file object to
assoicate/connect/send/recv/disassociate it again and agian without close
the handle and open it again and again. From understanding of Winsock, I am
afraid the answer is no.
Could Gurus or people from Microsoft shed some light on this question?
Thanks.
Bi
how to set socket like option to tcp.sys for Tdi clientNo, IRP_NOCACHE will not trigger Nagle option, it is triggered by some undocumented IOCTL on connection file object.
You can buy our KernSock product which will do all you have described here.
Max
----- Original Message -----
From: Bi Chen
To: NT Developers Interest List
Sent: Friday, November 22, 2002 6:14 AM
Subject: [ntdev] how to set socket like option to tcp.sys for Tdi client
Hi,
Because the design of our server, in my client driver I have to create an connection, send one or two small request(s), and receive a block of data and tear down the connection. And this could be very frequent operations (I know I know it is slow, wasteful, plainly against TCP optimization). Therefore I need something like Winsock setsockopt TCP_NODELAY, SO_DONTLINGER on the Tdi client connection. The driver has to work for NT 4.0, 2k, and XP, setting registry is not an option. Is there any Ioctl I can send to tcp driver for that purpose? Is tdi client connection default to SO_DONTLINGER as socket? Is it helpful if I OR the IRP flag to IRP_NOCACHE on the IRP from TdiBuildSend to achive the TCP_NODELAY?
Another question is if I disassociate the file object obtained from the handle of ZwCreateFile, could I use the same file object to assoicate/connect/send/recv/disassociate it again and agian without close the handle and open it again and again. From understanding of Winsock, I am afraid the answer is no.
Could Gurus or people from Microsoft shed some light on this question?
Thanks.
Bi
You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to %%email.unsub%%