Is it possible to get details (for example the number of segmentations) about the low level segmentation that happens when a server is transmitting to client through a tcp socket. When I say segmentation I mean the block/ packets in which data is segmented when it is being transmitted.
Socket & more sockets...
I don't have the answer to your question, but here's some links the Java APIs about sockets that might help:
Socket (Java Platform SE 6)
SocketAddress (Java Platform SE 6)
SocketChannel (Java Platform SE 6)
SocketException (Java Platform SE 6)
THere's also classes for the following:
SocketFactory, SocketHandler, SocketImpl, etc...
10x Ill post if I find something useful
If I understand what you are asking correctly, that happens in the TCP/IP stack, at the OS level. AFAIK, packets are formed at the TCP, IP, and physical network (Ethernet) layers as well.
One of the goals of Java is insulate the application from that level. Socket doesn't seem to allow you to see much more than the application level buffer sizes.
I was reading and I came across the setReceiveBufferSize(). Do you think that this is to set the size of the low level TCP packets pls because I have not understood so well what I have read.
Check out JPCAP (I think that's what the library is called), maybe? Google that.
No, that is the size of buffer in the Java program, which sits far above the TCP/IP stack...
Do you mind if I ask why you care? Usually, when someone wants low level information like this, it's because they don't understand that they don't need it.
If you are trying to program a new protocol, you probably need to write in native code.
I was thinking along the same lines a Toadaly. I'm getting the impression that you're not an expert on TCP/IP (my bad if I'm wrong). Here's a link to a Wikipedia article that covers some of the basics.
From the Java perspective, you have no control over TCP/IP anyway. That's built in to the OS, and Java just interfaces to the OS-provided support. In general, you don't want to mess with the OS networking support, anyway. If you do, use C or C++.