Я пишу PHP-клиент, используя сокеты для существующей системы.
Реализация протокола в основном работает, но для следующего шага мне нужно знать локальный порт, на котором создается сокет.
На сервере у меня есть следующий вывод: Socket [addr = / Client-IP, port = 40546, localport = 1338]
Для общения для работы мне нужно получить порт 40546 (или что-то еще, когда он подключается). К сожалению, невозможно изменить протокол по различным причинам.
Благодарю за помощь
Адриан
EDIT (фрагмент кода):
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_connect($socket, 192.168.0.12, 1338); // Need to know local socket port (eg 40546) $socketport = ?????? $message = "somestring"; $message = $protocol->encode($message, $socketport); socket_write($socket, $message, strlen($message));
Это в основном то, что есть. Мне нужно знать порт на стороне клиента, ПОСЛЕ создания и подключения сокета, то есть нет необходимости устанавливать его вручную.