C
Chris Uppal
Bjorn said:it is vital to understand that in TCP there is no concept of packet
boundaries available to the user. none. to the user, TCP is a stream-
based transport that makes no guarantees as to how the data is sliced
and diced at the system call interfaces and in transit. the only
thing it tries to guarantee is that the same sequence of bytes arrive
in the same order.
I think that you may be missing the point of this discussion. We all know what
the semantics of TCP/IP are, the question is why and how is the server-side
code broken.
A related question which is also being discussed is whether there is a
clientp-side workaround for the problem. In order to find such a workaround
(which might easily be necessary if the server-side code wasn't be under the
control of the client-side developers), you have to understand how packet
boundaries affect the typical behaviour of networking APIs that are likely to
be in use on the sever. One of the effects is that packet boundaries affect
undefined aspects of the behaviour of functions like read().
-- chris