Node.js,Websocket 服务器端客户端数据



首先,我希望你明白我需要什么。这是我当前的服务器端脚本:

var server = require('websocket').server, http = require('http');
var mysql = require('mysql');
var socket = new server({
    httpServer: http.createServer().listen(8080)
});

var sql = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : ''
});
sql.connect(function(err) {
  if (err) {
    console.error('[MySQL] Error connecting: ' + err.stack);
    return;
  }
  console.log('[MySQL] Connected as id ' + sql.threadId);
});
socket.on('request', function(request) {
    var connection = request.accept(null, request.origin);
    connection.on('message', function(message) {
        connection.sendUTF(message);
    });
    connection.on('close', function(connection) {
        console.log('connection closed');
    });
}); 

客户端使用唯一查询连接到 websocket

var WS = new WebSocket("ws://localhost:8080/steamid="+steamid);

现在谈谈我需要的。在服务器端,我需要获取客户端的 steamid 并保存它,以便以后可以在服务器中使用它。例如,我需要获取第 10 个客户端的 steamid。我相信这必须通过数组来完成,但我在这些事情上有点绿色。

提前感谢,内达斯

检查请求对象并直接解析连接 URL ( request.resourcerequest.httpRequest.url ) 或request.resourceURL的内容,以检索steamid查询参数值。

至于第n个客户端的steamid:

您可以像这样访问 websocket 服务器的所有连接:

server.connections[10]

然后按上述操作;检索并解析连接 url 以查找steamid查询参数。

相关内容

  • 没有找到相关文章

最新更新