@vjufvufcgyf

Как исправить (не выводит и не передаёт по сокету данные)?

запускаю поочерёдно, не выводит OK
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

  	 socket_set_option($sock, SOL_SOCKET, SO_REUSEADDR, 1);

  	 socket_bind($sock, '127.0.0.1', 7000);

	  while (socket_listen($sock, -1)) {
       		$conn = socket_accept($sock);

      		socket_write($conn,'OK');

  	   	socket_shutdown($conn);
	  }

	   socket_close($sock);


$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

  	socket_set_option($sock, SOL_SOCKET, SO_REUSEADDR, 1);
   
  	socket_connect($sock, '127.0.0.1', 7000);
   	
  	$read = "";

  	$fde = "";
   
  	while($read = socket_read($sock, 1024))
  	{
   	 	$fde .= $read; 
 	}
  	socket_close($sock);

  	$err = socket_last_error();
   
  	echo "good".$read.$err;
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
@Vitsliputsli
Если вы ожидаете увидеть "OK" в переменной $read, то его там уже нет, он будет перезаписан пустой строкой (если больше нет данных, то возвращается пустая строка). Тем не менее, данные вы сохраняете в $fde, и соответственно там и надо искать "ОК".
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ЭТП «ТОРГИ 223» Нижний Новгород
от 50 000 ₽
Сбер Москва
До 240 000 ₽
RecruitIT Москва
от 120 000 до 150 000 ₽
20 окт. 2020, в 02:51
20000 руб./за проект
20 окт. 2020, в 01:40
1000 руб./за проект
20 окт. 2020, в 01:13
1500 руб./за проект