Не допустимый URL, не могу понять почему php tcp сервер не конектится с клиентом на java в Android
По задумке, мой tcp клиент apk должен подключится к серверу на php, через тоннель ngrok на сервере IIS, где я и расположил php сервер. IIS сервер изначально был настроен на выполнение php кода, так что не думаю что его нужно настраивать ещё и на tcp соединение. Крч, я запутался..
Я пробовал по всякому обращаться к серверу "http://7.tcp.eu.ngrok.io:19419/post_switch.php" и "tcp://7.tcp.eu.ngrok.io:19419/post_switch.php", и "http://7.tcp.eu.ngrok.io:19419" и "tcp://7.tcp.eu.ngrok.io:19419/post_switch.php"
Подскажите, может тут где ошибку допустил? Или нужно что-то донастраивать в IIS или может apk приложение подкачало?
Код post_switch.php
<?php
include "./sms_chat/post_sms.php";
// подключаем JSON:
header('Content-Type: application/json; charset=utf-8');
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
// если есть ошибка, запишем в файл:
if (!$socket) {
file_put_contents("user_data.txt", "$errstr ($errno)<br />\n", FILE_APPEND | LOCK_EX);
// если сокет создан и получен файловый дескриптор благополучно, то:
} else {
// открываем цикл без тайм-аута - бесконечный, для обработки запросов:
while ($conn = stream_socket_accept($socket)) {
// полученный json переводим в массив, true - значит в массив
file_put_contents("user_data.txt", "fget() вернул: " . fget($conn), FILE_APPEND | LOCK_EX);
$array = json_decode(fget($conn), true);
// проверял пришли ли данные сюда из приложения
// file_put_contents("user_data.txt", $header, FILE_APPEND | LOCK_EX);
if ($header == "unknown") {
// путь к файлу device_list.php
// ну а покачто это тесты:
$data = array(
"header" => "post_sms",
"body" => "unknown!"
);
stream_socket_sendto($conn, json_encode($data));
}
// header не обязательно может содержать название файла php, это может абстрактным значением )
if ($header == "post_sms") {
stream_socket_sendto($conn, post_sms());
}
}
fclose($socket);
}
?>
Код include "./sms_chat/post_sms.php":
<?php
function post_sms() {
header('Content-Type: application/json; charset=utf-8');
file_put_contents("user_data.txt", getenv('REQUEST_METHOD'), FILE_APPEND | LOCK_EX);
file_put_contents("user_data.txt", getenv('REMOTE_ADDR'), FILE_APPEND | LOCK_EX);
$data = array(
"header" => "sms_chat",
"body" => "Hello!"
);
return json_encode($data);
}
?>
Java исключение:
java.net.UnknownHostException: Unable to resolve host "http://7.tcp.eu.ngrok.io:19419/post_switch.php": No address associated with hostname
Ссылка на код который у меня в Android Studio:
https://ru.stackoverflow.com/questions/1523778/%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B0%D1%8E-android-os-networkonmainthreadexception-%D1%85%D0%BE%D1%82%D1%8F-%D1%83-%D0%BC%D0%B5%D0%BD%D1%8F-%D0%B2-%D0%BA%D0%BE%D0%B4%D0%B5-%D0%BF%D1%80%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD-%D0%B7%D0%B0%D0%BF%D1%83