Hello everyone, When I am programming a samba client in freeDOS,using wattcp, I found
a strange thing, which is not the same as rfc1002 claims.In rfc 1002,see below:
NetBIOS Working Group [Page 72]
RFC 1002 March 1987
5.2.2.2. RECEIVED PACKET PROCESSING
These are packets received after a session has been established.
PROCEDURE session_packet(packet)
/*
* processing initiated by receipt of a session service
* packet for a session in the data transfer phase.
*/
BEGIN
CASE packet type OF
SESSION MESSAGE:
BEGIN
process message header;
read in user data;
reset and restart keep-alive timer; // note this!!!!!
deliver data to user;
END /* session message */
SESSION KEEP ALIVE:
discard packet;
END /* case */
END /* procedure */
So,during I write data or read data to server, it seems that server will not send me
any keep-alive packet because he will reset the timer.But in fact,during I raw write a
very large piece data to server(not matter windows or linux),it will send me a
keep-alive occasionally,leading my defendless code crash.
I REALLY don't understand why they don't obey the rules,or do I mistake rfc1002?
Urgently hope for your kindly help,thank you!!!!