Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class SocketImpl extends Object implements SocketOptions
SocketImpl
общий суперкласс всех классов, которые фактически реализуют сокеты. Это используется, чтобы создать оба сокета клиента и сервера. "Простой" сокет реализует эти методы точно как описано, не пытаясь пройти через брандмауэр или прокси.
Модификатор и Тип | Поле и Описание |
---|---|
protected InetAddress |
адрес
IP-адрес удаленного конца этого сокета.
|
protected FileDescriptor |
fd
Объект дескриптора файла для этого сокета.
|
protected int |
localport
Локальный номер порта, с которым соединяется этот сокет.
|
protected int |
порт
Номер порта на удаленном узле, с которым соединяется этот сокет.
|
IP_MULTICAST_IF, IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS, SO_BINDADDR, SO_BROADCAST, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_RCVBUF, SO_REUSEADDR, SO_SNDBUF, SO_TIMEOUT, TCP_NODELAY
Конструктор и Описание |
---|
SocketImpl() |
Модификатор и Тип | Метод и Описание |
---|---|
protected abstract void |
accept(SocketImpl s)
Принимает соединение.
|
protected abstract int |
available()
Возвращает число байтов, которые могут быть считаны из этого сокета без блокирования.
|
protected abstract void |
bind(InetAddress host, int port)
Связывает этот сокет с указанным локальным IP-адресом и номером порта.
|
protected abstract void |
close()
Завершения этот сокет.
|
protected abstract void |
connect(InetAddress address, int port)
Соединяет этот сокет с указанным номером порта на указанном узле.
|
protected abstract void |
connect(SocketAddress address, int timeout)
Соединяет этот сокет с указанным номером порта на указанном узле.
|
protected abstract void |
connect(String host, int port)
Соединяет этот сокет с указанным портом на именованном узле.
|
protected abstract void |
create(boolean stream)
Создает или поток или сокет дейтаграммы.
|
protected FileDescriptor |
getFileDescriptor()
Возвращает значение этого сокета
fd поле. |
protected InetAddress |
getInetAddress()
Возвращает значение этого сокета
address поле. |
protected abstract InputStream |
getInputStream()
Возвращает входной поток для этого сокета.
|
protected int |
getLocalPort()
Возвращает значение этого сокета
localport поле. |
protected abstract OutputStream |
getOutputStream()
Возвращает поток вывода для этого сокета.
|
protected int |
getPort()
Возвращает значение этого сокета
port поле. |
protected abstract void |
listen(int backlog)
Устанавливает максимальную длину очереди для входящих индикаций соединения (запрос, чтобы соединиться) с
count параметр. |
protected abstract void |
sendUrgentData(int data)
Отправьте один байт срочных данных на сокете.
|
protected void |
setPerformancePreferences(int connectionTime, int latency, int bandwidth)
Предпочтение производительности наборов этому сокету.
|
protected void |
shutdownInput()
Помещает входной поток для этого сокета в "конце потока".
|
protected void |
shutdownOutput()
Отключает поток вывода для этого сокета.
|
protected boolean |
supportsUrgentData()
Возвраты, поддерживает ли этот SocketImpl передающие срочные данные.
|
Строка |
toString()
Возвращает адрес и порт этого сокета как a
String . |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getOption, setOption
protected FileDescriptor fd
protected InetAddress address
protected int port
protected int localport
protected abstract void create(boolean stream) throws IOException
stream
- если true
, создайте потоковый сокет; иначе, создайте сокет дейтаграммы.IOException
- если ошибка ввода-вывода происходит, создавая сокет.protected abstract void connect(String host, int port) throws IOException
host
- имя удаленного узла.port
- номер порта.IOException
- если ошибка ввода-вывода происходит, соединяясь с удаленным узлом.protected abstract void connect(InetAddress address, int port) throws IOException
address
- IP-адрес удаленного узла.port
- номер порта.IOException
- если ошибка ввода-вывода происходит, делая попытку соединения.protected abstract void connect(SocketAddress address, int timeout) throws IOException
address
- адрес Сокета удаленного узла.timeout
- значение тайм-аута, в миллисекундах, или нуле ни для какого тайм-аута.IOException
- если ошибка ввода-вывода происходит, делая попытку соединения.protected abstract void bind(InetAddress host, int port) throws IOException
host
- IP-адрес, который принадлежит локальному интерфейсу.port
- номер порта.IOException
- если ошибка ввода-вывода происходит, связывая этот сокет.protected abstract void listen(int backlog) throws IOException
count
параметр. Если индикация соединения прибывает, когда очередь полна, соединению отказывают.backlog
- максимальная длина очереди.IOException
- если ошибка ввода-вывода происходит, создавая очередь.protected abstract void accept(SocketImpl s) throws IOException
s
- принятое соединение.IOException
- если ошибка ввода-вывода происходит, принимая соединение.protected abstract InputStream getInputStream() throws IOException
IOException
- если ошибка ввода-вывода происходит, создавая входной поток.protected abstract OutputStream getOutputStream() throws IOException
IOException
- если ошибка ввода-вывода происходит, создавая поток вывода.protected abstract int available() throws IOException
IOException
- если ошибка ввода-вывода происходит, определяя число доступных байтов.protected abstract void close() throws IOException
IOException
- если ошибка ввода-вывода происходит, закрывая этот сокет.protected void shutdownInput() throws IOException
available
метод возвратится 0, и read
методы возвратятся -1
(конец потока).IOException
- если ошибка ввода-вывода происходит, завершая работу этого сокета.Socket.shutdownOutput()
, Socket.close()
, Socket.setSoLinger(boolean, int)
protected void shutdownOutput() throws IOException
IOException
- если ошибка ввода-вывода происходит, завершая работу этого сокета.Socket.shutdownInput()
, Socket.close()
, Socket.setSoLinger(boolean, int)
protected FileDescriptor getFileDescriptor()
fd
поле.fd
поле.fd
protected InetAddress getInetAddress()
address
поле.address
поле.address
protected int getPort()
port
поле.port
поле.port
protected boolean supportsUrgentData()
address
protected abstract void sendUrgentData(int data) throws IOException
data
- Байт данных, чтобы передатьсяIOException
- если есть ошибка, отправляя данные.protected int getLocalPort()
localport
поле.localport
поле.localport
public String toString()
String
.protected void setPerformancePreferences(int connectionTime, int latency, int bandwidth)
Сокеты используют протокол TCP/IP по умолчанию. Некоторые реализации могут предложить альтернативные протоколы, у которых есть различные показатели производительности чем TCP/IP. Этот метод позволяет приложению выражать свое собственное предпочтение относительно того, как эти компромиссы должны быть сделаны, когда реализация выбирает из доступных протоколов.
Предпочтение производительности описывается тремя целыми числами, значения которых указывают на относительную важность короткого времени соединения, низкой задержки, и высокой пропускной способности. Абсолютные значения целых чисел не важны; чтобы выбрать протокол, значения просто сравниваются с большими значениями, указывающими на более сильное предпочтение. Отрицательные величины представляют более низкий приоритет чем положительные значения. Если приложение предпочитает короткое время соединения и по низкой задержке и по высокой пропускной способности, например, то это могло вызвать этот метод со значениями (1, 0, 0). Если приложение предпочитает высокую пропускную способность выше низкой задержки, и низкой задержки выше короткого времени соединения, то это могло вызвать этот метод со значениями (0, 1, 2). По умолчанию этот метод ничего не делает, если он не переопределяется в sub-class.
connectionTime
- int, выражающий относительную важность короткого времени соединенияlatency
- int, выражающий относительную важность низкой задержкиbandwidth
- int, выражающий относительную важность высокой пропускной способности
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92