Cara membuat websocket php

Saya tahu orang yang berjuang! Tapi baru-baru ini saya cukup banyak bekerja dengan Workerman. Jika Anda belum menemukan kerangka kerja php ini maka Anda sebaiknya memeriksanya!

Well, Workerman adalah kerangka kerja PHP asinkron yang digerakkan untuk dengan mudah membangun aplikasi jaringan yang cepat dan dapat diskalakan. (Saya baru saja menyalin dan menempelkannya dari situs web mereka hahahah http://www.workerman.net/en/ )

Cara mudah untuk menjelaskan ini adalah bahwa ketika datang pemrograman web socket yang Anda benar-benar perlu miliki adalah memiliki 2 file di server Anda atau server lokal (di mana pun Anda bekerja).

  1. server.php (kode sumber yang akan menanggapi semua permintaan klien)

  2. client.php / client.html (kode sumber yang akan melakukan hal-hal yang diminta)

Jadi pada dasarnya, Anda benar kode terlebih dahulu pada Anda server.php dan mulai server. Biasanya, karena saya menggunakan windows yang menambah perjuangan, saya menjalankan server melalui perintah ini -> php server.php start

Nah jika Anda menggunakan xampp. Inilah satu cara untuk melakukannya. Pergi ke mana pun Anda ingin meletakkan file Anda. Dalam kasus kami, kami akan memasukkan file

C: /xampp/htdocs/websocket/server.php

C: /xampp/htdocs/websocket/client.php atau client.html

Dengan asumsi bahwa Anda sudah memiliki file-file itu di server lokal Anda. Buka Git Bash atau Command Line atau Terminal atau apa pun yang Anda gunakan dan unduh pustaka php di sini.

https://github.com/walkor/Workerman

https://github.com/walkor/phpsocket.io

Saya biasanya mengunduhnya melalui komposer dan hanya memuat secara otomatis file-file itu dalam skrip php saya.

Dan juga periksa yang ini. Ini sangat penting ! Anda memerlukan perpustakaan javascript ini agar Anda client.php atau client.html untuk berkomunikasi dengan server.php ketika Anda menjalankannya.

https://github.com/walkor/phpsocket.io/tree/master/examples/chat/public/socket.io-client

Saya hanya menyalin dan menempel folder socket.io-client itu pada tingkat yang sama dengan server.php saya dan client.php saya

Berikut adalah kode sumber server.php

<?php
require __DIR__ . '/vendor/autoload.php';

use Workerman\Worker;
use PHPSocketIO\SocketIO;

// listen port 2021 for socket.io client
$io = new SocketIO(2021);
$io->on('connection', function($socket)use($io){
    $socket->on('send message', function($msg)use($io){
        $io->emit('new message', $msg);
    });
});

Worker::runAll();

Dan di sini adalah client.php atau client.html source

<!DOCTYPE html>
<html>
    <head>
        <title>Chat</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">        
    </head>
    <body>
        <div id="chat-messages" style="overflow-y: scroll; height: 100px; "></div>        
        <input type="text" class="message">
    </body>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>    
    <script src="socket.io-client/socket.io.js"></script>  
    <script>
            var socket = io.connect("ws://127.0.0.1:2021");

            $('.message').on('change', function(){
                socket.emit('send message', $(this).val());
                $(this).val('');
            });

            socket.on('new message', function(data){
                $('#chat-messages').append('<p>' + data +'</p>');
            });
    </script>
</html>

Sekali lagi, buka baris perintah Anda atau git bash atau terminal tempat Anda meletakkan file server.php Anda. Jadi dalam kasus kami, yaitu C: / xampp / htdocs / websocket / dan ketik php server.php mulai dan tekan enter.

Lalu buka browser Anda dan ketik http: //localhost/websocket/client.php untuk mengunjungi situs Anda. Kemudian cukup ketik apa saja ke kotak teks itu dan Anda akan melihat websocket php dasar saat bepergian!

Anda hanya perlu mengingatnya. Dalam pemrograman soket web, itu hanya membutuhkan server dan klien. Jalankan kode server terlebih dahulu dan buka kode klien. Dan begitulah! Semoga ini membantu!