socket -server command?options?
port
Для задания дополнительной информации о соединении можно использовать следующие опции.
-myaddr addr
Аргумент addr задает доменный или числовой адрес сетевого интерфейса клиентской стороны для упрощения соединения. Эта опция может быть полезна, если на клиентской машине есть несколько сетевых интерфейсов. Если опция не указана, системный интерфейс будет выбран операционной системой.
-myport port
Аргумент port задает номер порта для клиентсткой стороны соединения. Если опция не указана, номер порта для клиента будет определен операционной системой.
-async
Использование опции -async приведет
к тому, что клиент будет подсоединен в асинхронном режиме. Это значит, что
сокет будет создан немедленно, возможно, еще до установления связи с сервером.
Если канал открыт в блокирующем режиме, то при выполнении команды gets
или flush по такому сокету, команда завершится
только после того, как процесс установления соединения будет завершен. Если
канал открыт в неблокирующем режиме, то в этой ситуации команда завершится
немедленно, а команда fblocked для данного
канала возвратит 1.
В команде можно использовать следующие опции:
-myaddr addr
Аргумент addr задает доменный или числовой адрес сетевого интерфейса серверной стороны для упрощения соединения. Эта опция может быть полезна, если на серверной машине есть несколько сетевых интерфейсов. Если опция не указана, сокет связывается со специальным адресом INADDR_ANY, который позволяет принимать соединения от любого интерфейса.
Канал сервера не может быть использован для приема или выдачи данных. Его единственное назначение — принимать новые клиентсткие подсоединения. Каналы, открываемые для каждого клиентского соединения, открываются на чтение и запись. Закрытие серверного канала вызывает отключение сервера, так что никаких новых соединений не может быть выполнено. Однако существующие соединения сохраняются.
Сокет сервера не может обнаружить новое соединение
при незапущенном обработчике событий. Поэтому в приложении должен быть запущен
обработчик событий, например, командой vwait.
-sockname