Как вызвать локальный хост по сокету… а не по IP

#php #sockets

#php #сокеты

Вопрос:

На самом деле я делаю свои первые шаги на сокетах, с PHP, локально.

В моем hosts случае у меня есть виртуальный домен с именем chat.dev.com .

Я видел много примеров по IP … но возможно ли вызвать конкретный локальный поддомен, пожалуйста, а не мой 127.0.0.1 ?

Комментарии:

1. Я попробовал второй пример на php.net/manual/en/sockets.examples.php Но, похоже, это не проходит мимо .htaccess

2. В моей конфигурации все поддомены управляются .htaccess ( github.com/Lcfvs/DOMArch/blob/master/.htaccess )

3. Пожалуйста, покажите нам ваш код и какую ошибку вы получаете.

Ответ №1:

Сокеты идентифицируются комбинацией IP-адреса и порта. Чтобы попытаться подключиться к DNS, как вы, кажется, подразумеваете, вам сначала нужно выполнить поиск DNS для этого конкретного хоста, получить связанный с ним IP-адрес и затем подключиться.

В Php есть функция для этого, пожалуйста, посмотрите http://php.net/manual/en/function.dns-get-record.php

Комментарии:

1. Аааа, спасибо за этот ответ еще несколько в правильном направлении 🙂 Итак, это заставляет меня думать, что сокеты — это не то решение, которое я ищу. Есть ли другое решение, работающее как сокеты (поддерживающие соединения) на основе http? Изначально я думал о чем-то подобном gist.github.com/Lcfvs/9829c60cc56dd65b394c71d8d8e4ad9e

2. Это полностью зависит от того, что вы пытаетесь создать. Если вы кратко объясните это, я мог бы помочь вам в дальнейшем.

3. Хорошо, спасибо… Я пытаюсь использовать 2 «сервера» для обмена некоторыми сообщениями (по действующему соединению), но, если возможно, передавая мою конфигурацию .htaccess… точно так же, как мы вызываем веб-сайт из браузера, тогда

4. Если вы ищете передачу HTTP-сообщений между двумя серверами, я бы взглянул на библиотеку cURL PHPs. cURL создан для отправки пользовательских HTTP-сообщений из командной строки, но с тех пор был адаптирован для других целей.

5. Хм, хорошо … например, потоком событий, тогда, как для отправленных сервером событий?