Почему, когда я пытаюсь прослушать петлевой хост в Java (используя обычный старый сокет), он требует root-доступа, но если я использую nio, это не так?Если я попытался прослушать любой другой язык в loopback, он также не требует повышенных привилегий.
Это мой код прямо сейчас:
import java.net.*;
class Test
{
public static void main( String[] args )
throws Exception
{
ServerSocket server = new ServerSocket( 80 );
while( true )
{
Socket socket = server.accept();
System.out.print( "." );
}
}
}
Когда я запускаю это какобычному пользователю выдается это исключение: Exception in thread "main" java.net.BindException: Permission denied
.Тем не менее, когда я запускаю это как root, он работает нормально, как и ожидалось.