> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > Quoting Niklas Therning <[EMAIL PROTECTED]>: > > > [EMAIL PROTECTED] wrote: > >> ... > >> > >> > >> Do you mean that when the call > >> socket.getOutputStream().write(myBufferOf1000Bytes) returns, it does > >> not mean > >> that all 1000 bytes has been transmitted via TCP/IP to receiver? > >> > >> What does it mean then? That the 1000 bytes are in TCP/IP stack's > buffer? > > > > Yes, I think so. > > > > Read this post: > > > > http://forum.java.sun.com/thread.jspa?forumID=11&threadID=635138 > > > > /Niklas > > Thanks. The post is not so clear. > > I am surprised it is stated that TCP does not guarantee that message is > received. It does so. It guarantees packet delivery and packet order. > > I guess they meant that with sockets, reception at TCP/IP level does not > imply > consumption of the buffer by the receiving program. >
Remember that the receiving program may be 100 hops away on the other side of the world. You do not want your application to wait for every individual package to be received across the internet before you send the next. Jose Alberto
