Leis, John W. (2002) Buffering issues in TCP-based services. Technical Report. University of Southern Queensland, Faculty of Engineering and Surveying, Toowoomba, Australia.
Client-server protocols such as HTTP over a TCP transport layer may be implemented in a relatively straightforward manner, as is often given in 'textbook' examples. Many of these examples do not scale well to a full implementation across anything but a localhost connection with minimal data payload. Furthermore, such implementations are invariably less than optimal in terms of performance, robustness to differing remote client configurations, processor time utilization, and bandwidth usage. It is suggested that the examples often given in texts are overly simplified, to the point of being misleading. In this note, we examine some of these issues, resulting from the implementation of HTTP clients and servers using Unix (Berkeley) sockets, Windows NT (Winsock), and Java. Issues addressed include efficient send/receive buffering to minimizing kernel and user data copying, and robustness to variability in record delimiters.
|Item Type:||Report (Technical Report)|
|Additional Information:||USQ publication.|
|Uncontrolled Keywords:||send/receive buffering, TCP, HTTP clients and servers, kernel, data copying, Unix (Berkeley) sockets, Windows NT (Winsock), Java|
|Subjects:||280000 Information, Computing and Communication Sciences > 289900 Other Information, Computing and Communication Sciences > 289999 Other Information, Computing and Communication Sciences|
|Depositing User:||epEditor USQ|
|Date Deposited:||11 Oct 2007 00:16|
|Last Modified:||02 Jul 2013 22:30|
Actions (login required)
|Archive Repository Staff Only|