что будет эквивалентно этому в php для подключения к сокету и отправки сообщения

что будет эквивалентно этому в 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 для обработки отправленных сообщений. какие-либо идеи, пожалуйста?

0

Решение

Это просто голые кости

//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)

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]