Как сделать код слушателя порта на сервере, на котором размещен мой сайт?

714
Arun Cheriyan

Мой веб-сайт размещен в Godaddy, и я хочу протестировать передачу TCP-данных одним из встроенных приложений с использованием IP-адреса и номера порта моего веб-сайта, для этого я могу использовать любой скрипт php ( что-то вроде прослушивателя портов ), который можно запустить с помощью браузера? который может распечатать данные, полученные через TCP?

Я не использую php, кто-нибудь может мне помочь в достижении этого?

0
PHP не работает в браузере. Он запускается на сервере. Если вы хотите проверить порт TCP, подумайте об использовании `telnet`. Может быть, попытаться быть более выразительным с тем, что вы хотите сделать. Seth 6 лет назад 0
привет, я имею в виду, загрузить файл php на сервер и получить к нему доступ через браузер? Arun Cheriyan 6 лет назад 0

1 ответ на вопрос

1
Putnik

Прежде всего, большинство чертовых аккаунтов являются общими. Это означает, что у вас нет доступа ни к корню, ни к брандмауэру. В этом случае вы не можете сделать это там - ни с помощью PHP, ни любым другим способом.

Если у вас есть root и вы уверены, что брандмауэр разрешает входные соединения с нужным портом, вы можете использовать оболочку tcp, например, xinetdчтобы позволить любому скрипту, который вам нравится, прослушивать определенный порт. Обратите внимание, что, как правило, это плохая идея, потому что такие оболочки могут не обрабатывать одновременные соединения должным образом.

Если вы все еще хотите, убедитесь, что порт, который вы хотите использовать, не занят другим процессом (например, 80 и 443 веб-сервером). Куда можно направить вывод сценария php, например, файл или база данных. Yuo не может отправить данные напрямую в браузер, потому что в цепочке sender-xinted-php нет браузера. Вам понадобится, например, другой php-скрипт, который будет запускаться за веб-сервером, чтобы получать данные из файла или БД и отправлять их в браузер.

поэтому я могу написать php-скрипт на сервере (где размещен мой сайт) для прослушивания порта, и, возможно, распечатать полученное или записать в файл? , Я буду отправлять данные (клиент) на ip и порт из GSM модуля. Сейчас я отправляю его на порт 80, но у меня нет возможности посмотреть, что там происходит на сервере. Arun Cheriyan 6 лет назад 0
«Печать» обычно означает «отправить на вывод». Там нет вывода по умолчанию для службы, если вы не укажете его (например, файл). Если вы хотите увидеть, что там происходит на сервере - напишите журнал, тогда вы сможете просматривать его в режиме реального времени из оболочки, например `tail -f / path / to / log_file` (я предполагаю, что вы работаете в Linux) Putnik 6 лет назад 0
я могу сделать это с помощью простого доступа к ip и порту (из клиента, модуля gsm), используя только протокол TCP, или я должен использовать HTTP-пост? Arun Cheriyan 6 лет назад 0
Вам нужно изучить сетевой стек, http подразумевает tcp, но tcp не является обязательным http. Вы можете использовать все, что захотите, даже icmp или udp, но передатчик и приемник должны понимать друг друга. Если ваш серверный скрипт не понимает http, то нет большого смысла отправлять почтовые запросы. Xinetd в основном работает с TCP. Putnik 6 лет назад 0