Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 TClientSocket and TServerSocket


Why don't the Sockets receive more than 8k worth of data?   

    Because the IP layer breaks a stream of data into 8k chunks, the developer must explicitly insert a length integer at the beginning of the stream telling the receiving end how much data to expect, more importantly, how many 8k packets to receive. Because the Socket components are just wrappers for the WinSock and not Protocols with header information (as mentioned above), the developer must concern themselves with said "padding" of data. NOTE: The implementation can vary by the developer so this will remain generic. This requires: padding the data at the source with a length integer, extracting the length integer at the destination, counting the number of bytes received at the destination and matching those with the length integer. If TotalBytesReceived <> LengthInteger then know the next packet is a continuation, otherwise know the next packet is a different stream altogether. NOTE: This is handled in HTTP & FTP protocols via header information (ie, 'Content\Length:').

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use