我知道奋斗的人!但我最近几乎和 Workerman 一起工作。
如果您还没有偶然发现这个 php 框架,那么您最好检查一下!
嗯,Workerman 是一个异步事件驱动的 PHP 框架,用于轻松构建快速、可扩展的网络应用程序。 (我只是从他们的网站上复制粘贴的哈哈哈http://www.workerman.net/en/)
解释这一点的简单方法是,当涉及到 Web 套接字编程时,您真正需要的是在您的服务器或本地服务器(无论您在哪里工作)中拥有 2 个文件。
server.php(响应所有客户端请求的源代码)
client.php/client.html(执行请求的源代码)
所以基本上,你首先在 server.php 上修改代码并启动服务器。通常,由于我使用的是增加了更多困难的 Windows,因此我通过此命令运行服务器 --> php server.php start
如果您使用的是 xampp。这是一种方法。转到您要放置文件的任何位置。在我们的例子中,我们将把文件放入
C:/xampp/htdocs/websocket/server.php
C:/xampp/htdocs/websocket/client.php 或 client.html
假设您的本地服务器中已经有这些文件。打开您的 Git Bash 或命令行或终端或您正在使用的任何一个并在此处下载 php 库。
https://github.com/walkor/Workerman
https://github.com/walkor/phpsocket.io
我通常通过 composer 下载它,然后在我的 php 脚本中自动加载这些文件。
还要检查这个。这真的重要!您需要此 javascript 库,以便您在运行 client.php 或 client.html 时与 server.php 进行通信。
https://github.com/walkor/phpsocket.io/tree/master/examples/chat/public/socket.io-client
我只是将 socket.io-client 文件夹复制并粘贴到与我的 server.php 和 client.php 相同的级别
这里是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();
这里是 client.php 或 client.html 源代码
<!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>
再次打开命令行或 git bash 或终端,将 server.php 文件放置在其中。所以在我们的例子中,即 C:/xampp/htdocs/websocket/ 并输入 php server.php start 并按回车键。
然后转到您的浏览器并输入 http://localhost/websocket/client.php 以访问您的网站。然后只需在该文本框中输入任何内容,您就会在旅途中看到一个基本的 php websocket!
你只需要记住。在 web socket 编程中,它只需要一个服务器和一个客户端。首先运行服务器代码,然后打开客户端代码。你有它!希望这会有所帮助!