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