A socket timeout in Java is when a socket will wait for a response before timing out. It is set using the setSoTimeout() method.