D:\phpstudy_pro\Extensions\php\php7.4.3nts\composer require textalk/websocket
1、因项目只做socket客户端,不想用workerman或者swoole框架,简单实现ws PHP客户端
<?php
use WebSocket\Client as WsClient;
private static $worker = null;
public static function getClinet($url) {
if (self::$worker == null) {
self::$worker = new WsClient($url);
}
try {
self::$worker->ping();
} catch (\Exception $e) {
self::$worker = null;
return null;
}
return self::$worker;
}
public function sendToWorkerByWebSocket($taskModel) {
$data = [
'id' => $taskModel->id,
'inst' => $taskModel->inst,
];
$jsonData = json_encode($data);
$url = sprintf('ws://%s:%d/ws', env('TCPWORKER_IP', '127.0.0.1'), env('TCPWORKER_PORT', 6));
$client = self::getClinet($url);
if ($client) {
try {
$client->send($jsonData);
// $res = $client->receive();
\Log::channel('websocket')->info('success:' .$jsonData);
} catch (\Exception $e) {
\Log::channel('websocket')->info($e->getMessage());
\Log::channel('websocket')->info('fail:' .$jsonData);
}
} else {
\Log::channel('websocket')->info('fail:ping不通');
}
return true;
}
docs/Client.md · master · mirrors / Textalk / websocket-php · GitCode文章来源地址https://www.toymoban.com/news/detail-635997.html
文章来源:https://www.toymoban.com/news/detail-635997.html
到了这里,关于因项目只做socket客户端,不想用workerman或者swoole框架,简单实现ws PHP客户端的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!