PHP сокет UDP связь - PullRequest
       9

PHP сокет UDP связь

2 голосов
/ 28 марта 2012

Сервер работает нормально, но проблема в том, что клиент ничего не получает.

server.php

<?php    
 $buf_size = 1024;
 $socket = stream_socket_server("udp://127.0.0.1:3127", $errno, $errstr, STREAM_SERVER_BIND);
 do {
   $str = stream_socket_recvfrom($socket, $buf_size, 0, $peer); 
   $str = "abc";
   stream_socket_sendto($socket, $str, strlen($str), 0, $peer);    
 } while (true);
?>

client.php

<?php
 $fp = stream_socket_client("udp://127.0.0.1:3127", $errno, $errstr);
 if (!$fp) {
    echo "$errno - $errstr<br />\n";
 } else {      
    fwrite($fp, "1 2 3");    
    echo fread($fp, 15);
    fclose($fp);
 }
?>

1 Ответ

4 голосов
/ 28 марта 2012

Ваш синтаксис для stream_socket_sendto (ресурс $ сокет, строка $ data [, int $ flags = 0 [, строка $ адрес]]) неверен, просто замените:

stream_socket_sendto($socket, $str, strlen($str), 0, $peer);

с:

stream_socket_sendto($socket, $str, 0, $peer);

тогда ваш пример работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...