كود برمحة شات من خلال swoole
-create server
-fire event
-websocket
///php code <?php $server = new swoole_websocket_server("127.0.0.1" , 9080); ///open $server->on("open" , function (swoole_websocket_server $server , $request){ echo "User " .$request->fd." connect \n"; }); ///message $server->on("message" , function (swoole_websocket_server $server , $frame){ echo "User " .$frame->fd." send message ". $frame->data ."\n"; foreach ($server->connections as $fd){ if($frame->fd != $fd){ $server->push($fd , $frame->data); } } }); ///close $server->on("close" , function ($server , $fd){ echo "User " .$fd." disconnect \n"; }); /// start $server->start(); /////html code <html> <head> <title>Some page</title> <!-- bootstrap --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- Optional theme --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> <!-- bootstrap --> </head> <body> <div class="container"> <div class="row"> <div class="col-lg-12"> <br> <div class="well" id="messagebox" style="min-height: 200px;overflow: scroll"></div> <br> <textarea name="" id="message" cols="30" rows="3" class="form-control"></textarea> <br> <div class="form-group"> <input type="submit" onclick="sendMessage();return false;" name="submit" value="Submit" class="btn btn-default col-lg-12" /> </div> </div> </div> </div> <!--jquery --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <!-- Latest compiled and minified JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> <script> var exampleSocket = new WebSocket("ws:127.0.0.1:9080"); exampleSocket.onopen = function(event){ console.log("user connected"); }; function sendMessage() { var textMessage = $("#message").val(); var msg = { type: "message", text : textMessage, date : Date.now() }; exampleSocket.send(JSON.stringify(msg)); $("#message").val(''); messageParse(textMessage); } exampleSocket.onmessage = function (event) { messageParse(JSON.parse(event.data).text) } function messageParse(text) { $('#messagebox').append('<p>'+text+'</p>'); } </script> </body> </html>
Not Comments Here