作者 lyh

gx

... ... @@ -8,30 +8,44 @@
*/
namespace App\Helper;
require __DIR__ . '/vendor/autoload.php';
use WebSocket\Client;
class Socket
{
public function socket($data){
// Socket 服务器的 IP 和端口
$socketServerIp = '127.0.0.1';
$socketServerPort = 9555; // 替换为实际端口
// 创建一个 TCP Socket 客户端
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
return response()->json(['error' => 'Socket creation failed']);
private $client;
public $serverIp = '127.0.0.1';
public $serverPort = '9555';
public function __construct() {
$socketUrl = "ws://{$this->serverIp}:{$this->serverPort}";
$this->client = new Client($socketUrl);
}
/**
* @remark :发送消息
* @name :send
* @author :lyh
* @method :post
* @time :2023/8/31 10:18
*/
public function send($data) {
$this->client->send($data);
}
// 连接到 Socket 服务器
$result = socket_connect($socket, $socketServerIp, $socketServerPort);
if ($result === false) {
return response()->json(['error' => 'Socket connection failed']);
public function receive() {
return $this->client->receive();
}
$data = 'hello';
// 发送数据到 Socket 服务器
socket_write($socket, $data, strlen($data));
// 从服务器接收数据
$response = socket_read($socket, 1024);
// 关闭 Socket 连接
socket_close($socket);
return response()->json(['response' => $response]);
/**
* @remark :关闭连接
* @name :close
* @author :lyh
* @method :post
* @time :2023/8/31 10:21
*/
public function close() {
$this->client->close();
}
}
... ...
... ... @@ -35,12 +35,11 @@ class DomainInfoLogic extends BaseLogic
if(isset($this->param['id']) && !empty($this->param['id'])){
$rs = $this->model->edit($this->param,['id'=>$this->param['id']]);
}else{
$data = $this->getDomainInfo($this->param['domain']);
if(!empty($data['domain_start_time']) && !empty($data['domain_end_time'])){
$this->param['domain_start_time'] = $data['domain_start_time'];
$this->param['domain_end_time'] = $data['domain_end_time'];
}
// $data = $this->getDomainInfo($this->param['domain']);
// if(!empty($data['domain_start_time']) && !empty($data['domain_end_time'])){
// $this->param['domain_start_time'] = $data['domain_start_time'];
// $this->param['domain_end_time'] = $data['domain_end_time'];
// }
$rs = $this->model->add($this->param);
}
if($rs === false){
... ...
... ... @@ -112,7 +112,6 @@ class MailLogic extends BaseLogic
* @time :2023/7/8 9:27
*/
public function mail_del(){
@file_put_contents(storage_path('logs/lyh_error.log'), var_export($this->param, true) . PHP_EOL, FILE_APPEND);
DB::beginTransaction();
try {
$this->model->del(['id'=>['in',$this->param['id']]]);
... ...
... ... @@ -188,7 +188,6 @@ class InquiryInfoLogic extends BaseLogic
'CLIENT-IP: '.$post_data['ip'],
'X-FORWARDED-FOR: '.$post_data['ip']
);
@file_put_contents(storage_path('logs/lyh_error.log'), var_export(json_encode($post_data_new).'debug', true) . PHP_EOL, FILE_APPEND);
return http_post($url,$post_data_new,$header);
}
... ...
... ... @@ -23,13 +23,11 @@ $app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
$server = new Server("0.0.0.0", 9555);
$server->on('open', function ($server, $request) {
@file_put_contents(storage_path('logs/lyh_error.log'), var_export('连接已打开', true) . PHP_EOL, FILE_APPEND);
// WebSocket 连接已打开
echo "WebSocket 连接已打开\n";
});
$server->on('message', function ($server, $frame) {
@file_put_contents(storage_path('logs/lyh_error.log'), var_export('收到消息', true) . PHP_EOL, FILE_APPEND);
$message = $frame->data;
echo "收到消息: $message\n";
// 获取客户端连接的文件描述符
... ... @@ -49,7 +47,6 @@ $server->on('message', function ($server, $frame) {
});
$server->on('close', function ($server, $fd) {
@file_put_contents(storage_path('logs/lyh_error.log'), var_export('关闭连接', true) . PHP_EOL, FILE_APPEND);
// WebSocket 连接已关闭
echo "WebSocket 连接已关闭\n";
});
... ...