PureBasic

CreateNetworkServer()

Синтаксис

Result = CreateNetworkServer(#Server , Port [, Mode [, BindedIP$]])

Описание


Создаёт новый сетевой сервер на локальном компьютере, используя указанный порт.

Параметры

#Server Номер, идентифицирующий новый сетевой сервер. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.
Port Порт, который будет использоваться сервером. Значения портов могут варьироваться от 6000 до 7000 (это рекомендованная область значений, но на самом деле оно может быть от 0 до 65000).
Mode (дополн.) Этот параметр может быть одним из следующих значений:
  #PB_Network_TCP: Сервер будет использовать сетевой протокол TCP (по умолчанию).
  #PB_Network_UDP: Сервер будет использовать сетевой протокол UDP.
В сочетании с одним из следующих значений (с помощью оператора '|'):
  #PB_Network_IPv4: Создать сервер с использованием IPv4 (по умолчанию).
  #PB_Network_IPv6: Создать сервер с использованием IPv6.
BindedIP$ (дополн.) Локальный IP-адрес для "привязки" сервера. По умолчанию сервер создается для всех доступных локальных интерфейсов и принимает от них соединения. Может быть полезно ограничить сервер только одним интерфейсом (например, "127.0.0.1"), чтобы избежать попытки подключения с других интерфейсов. В Windows "привязка" к "Localhost" позволяет избежать запуска встроенного брандмауэра.

Возвращаемое значение

Возвращает не нулевое значение, если сервер был успешно создан. Если произошла ошибка, например из-за того, что порт уже используется - будет возвращён 0. Если в качестве параметра #Server использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.

Комментарии

Одновременно на одном компьютере можно запустить любое количество серверов, единственным ограничением является то, что два сервера не могут работать с использованием одного и того же порта и протокола (#PB_Network_TCP и #PB_Network_UDP).
Возможно создание двух серверов с использованием одного и того же порта, один с использованием IPv4, а другой - с помощью IPv6.

NetworkServerEvent() может использоваться для мониторинга событий сервера.

InitNetwork() необходимо вызывать перед использованием любых других команд из сетевой библиотеки.

См. также

OpenNetworkConnection(), CloseNetworkServer(), NetworkServerEvent(), InitNetwork()

Поддерживаемые OS

Все

<- ConnectionID() - Оглавление Network - EventClient()->