0
我創建了一個簡單的bash文件來運行一個PHP文件是這樣的:在運行bash文件
ws.sh
!#/bin/bash
php -q /var/www/htdocs/server.php
server.php
<?php
// prevent the server from timing out
set_time_limit(0);
session_start();
// include the web sockets server script (the server is started at the far bottom of this file)
require 'class.PHPWebSocket.php';
// when a client sends data to the server
function wsOnMessage($clientID, $message, $messageLength, $binary) {
global $Server;
$ip = long2ip($Server->wsClients[$clientID][6]);
// check if message length is 0
if ($messageLength == 0) {
$Server->wsClose($clientID);
return;
}
$_SESSION['currentId'] = $message;
}
// when a client connects
function wsOnOpen($clientID){
global $Server;
$ip = long2ip($Server->wsClients[$clientID][6]);
$Server->log("$ip ($clientID) has connected. ");
$data = array('connectionId' => $clientID,'msg'=>'Connected');
$Server->wsSend($clientID, json_encode($data));
}
// when a client closes or lost connection
function wsOnClose($clientID, $status) {
global $Server;
$ip = long2ip($Server->wsClients[$clientID][6]);
$Server->log("$ip ($clientID) has disconnected. sess = ".$session_id);
}
// start the server
$Server = new PHPWebSocket();
$Server->bind('message', 'wsOnMessage');
$Server->bind('open', 'wsOnOpen');
$Server->bind('close', 'wsOnClose');
$Server->wsStartServer('server-ip-here', 81);
?>
然後我的終端我將運行bash文件到後臺
./ws.sh &
現在,問題是如果在後臺運行客戶端的bash文件無法連接到我的websocket並返回錯誤「CONNECTION REFUSED」,但如果它的正常運行(而不是後臺),我不得不連接到它的問題。任何想法?請幫忙。謝謝!