Interview Questions

What is the difference between "connected" and "unconnected" sockets?

Unix Socket FAQ for Network programming


(Continued from previous question...)

What is the difference between "connected" and "unconnected" sockets?

If a UDP socket is unconnected, which is the normal state after a bind() call, then send() or write() are not allowed, since no destination address is available; only sendto() can be used to send data.

Calling connect() on the socket simply records the specified address and port number as being the desired communications partner. That means that send() or write() are now allowed; they use the destination address and port given on the connect call as the destination of the packet.

(Continued on next question...)

Other Interview Questions