что будет эквивалентно этому в php для подключения к сокету и отправки сообщения
var msg = "hello Motto";
var wsUri = "ws://mylocalserver:9001/ab/server.php";
websocket = new WebSocket(wsUri);
websocket.send(msg);
это прекрасно работает в JavaScript, и у меня есть файл слушателя, который показывает сообщение. Я хотел бы сделать то же самое с php. Я в замешательстве. Я просмотрел много документации в Интернете, но ничто не кажется простым, любая помощь, пожалуйста
Вот код php, который я собрал, но по некоторым причинам он не работает. Я не получаю ping на другом конце:
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$msg = "Ping !";
$len = strlen($msg);
socket_sendto($sock, $msg, $len, 0, 'ws://mylocalserver:9001/ab/server.php', 9001);
socket_close($sock);
эта часть не работает:
это работает:
socket_sendto($sock, $msg, $len, 0, 'mylocalserver', 9001);
но это не работает:
socket_sendto ($ sock, $ msg, $ len, 0, ‘mylocalserver / ab / server.php’, 9001);
проблема в том, что я использую server.php для обработки отправленных сообщений. какие-либо идеи, пожалуйста?
Это просто голые кости
//Create TCP/IP sream socket and return the socket resource
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Bind the source address
socket_bind($socket, 'localhost');
// Listen to incoming connection
socket_listen($socket);
// Accept new connections
socket_accept($socket);
// Handshake
$secKey = $headers['Sec-WebSocket-Key'];
$secAccept = base64_encode(pack('H*', sha1($secKey . '258EAFA5-E914-47DA-95CA-C5AB0DC85B11')));
$upgrade = "HTTP/1.1 101 Web Socket Protocol Handshake\r\n" .
"Upgrade: websocket\r\n" .
"Connection: Upgrade\r\n" .
"WebSocket-Origin: $host\r\n" .
"WebSocket-Location: ws://$host:$port/deamon.php\r\n".
"Sec-WebSocket-Accept:$secAccept\r\n\r\n";
socket_write($client_conn,$upgrade,strlen($upgrade));
Вам лучше использовать библиотеку, чтобы сделать это в php следующим образом: https://github.com/ghedipunk/PHP-Websockets
Если это слишком много, чтобы учиться, Вы можете взглянуть на этот урок который показывает вам, как построить чат в реальном времени с помощью веб-сокетов. (это также использует библиотеку websocket для php)
Других решений пока нет …