|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Все API, которые используют TCP, могут использовать SDP, определенно включая следующие классы:
java.net пакет SocketServerSocketjava.nio.channels пакет: SocketChannelServerSocketChannelAsynchronousSocketChannelAsynchronousServerSocketChannelКогда поддержка SDP включается, она только работает без любого изменения к Вашему коду. Компиляция не необходима. Однако, важно знать, что сокет связывается только однажды. Соединение является неявным, связывают. Так, если сокет не был ранее связан и connect вызывается, привязка происходит тогда.
Например, рассмотрите следующий фрагмент кода:
AsynchronousSocketChannel ch = AsynchronousSocketChannel.open(); ch.bind(local); Future<Void> result = ch.connect(remote);
В этом отрывке асинхронный канал сокета связывается с локальным адресом TCP когда bind вызывается на сокет. Затем, код пытается соединиться с удаленным адресом при использовании того же самого сокета. Если удаленный адрес будет использовать InfiniBand, как определено в конфигурационном файле, то соединение не будет преобразовано в SDP, потому что сокет был ранее связан.