当前位置: 首页 > 工具软件 > PHP WebSocket > 使用案例 >

php 服務器連接,PHP websocket服務器和mysql連接

魏彦
2023-12-01

我有一個基於this one的php websocket服務器。這個websocket服務器運行在與公共web服務器不同的apache上,但在相同的物理服務器上運行,所以我需要一個數據庫連接來檢索userdata。用戶數據由當前會話ID獲取,當用戶登錄時,該數據也會在數據庫中更新。現在,如果我運行我的websocket服務器,它的工作原理是完美的,但經過一段合適的時間(不能說時間跨度),結果保持空。我檢查了數據集。PHP websocket服務器和mysql連接

查詢字符串是最新的,正確的會話ID在數據庫中,它應該返回所需的行,但結果保持爲空。如果我殺死進程並運行這個websocket服務器,它將暫時工作,但過了一段時間後結果再次爲空。

這是我websocketserver.php簡化:

set_time_limit(0);

require 'class.PHPWebSocket.php';

$db1 = mysql_connect('localhost', 'dev', 'xxxxxxxx');

mysql_select_db('cb_dev',$db1);

function wsOnMessage($clientID, $message, $messageLength, $binary) {

global $Server;

$sessionid = "/*just imagine a session id here*/";

$result = mysql_query("SELECT username, id FROM users WHERE sessionid = '$sessionid'");

$row = mysql_fetch_row($result);

}

function wsOnOpen($clientID) {

//

}

function wsOnClose($clientID, $status) {

//

}

$Server = new PHPWebSocket();

$Server->bind('message', 'wsOnMessage');

$Server->bind('open', 'wsOnOpen');

$Server->bind('close', 'wsOnClose');

$Server->wsStartServer('0.0.0.0', 9010);

注:使用會話ID是正確投放,因此這不是問題。

2013-01-08

QQping

+0

你可以張貼在更新會話ID的用戶loggs時的代碼? –

 类似资料: