Node.js, Websocket 服务器端客户端数据
Node.js, Websocket server-side client data
首先,我希望你明白我需要什么。
这是我当前的服务器端脚本:
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。我相信这必须用数组来完成,但我对这些东西有点陌生。
提前致谢,
内达斯
检查请求对象并 parse the contents of the connection URL (request.resource
, request.httpRequest.url
) or request.resourceURL
直接检索 steamid
查询参数值。
第n个客户端的steamid:
您可以像这样访问websocket服务器的所有连接:
server.connections[10]
然后按照上面的方法进行;检索并解析连接 url 以查找 steamid
查询参数。
首先,我希望你明白我需要什么。 这是我当前的服务器端脚本:
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。我相信这必须用数组来完成,但我对这些东西有点陌生。
提前致谢, 内达斯
检查请求对象并 parse the contents of the connection URL (request.resource
, request.httpRequest.url
) or request.resourceURL
直接检索 steamid
查询参数值。
第n个客户端的steamid:
您可以像这样访问websocket服务器的所有连接:
server.connections[10]
然后按照上面的方法进行;检索并解析连接 url 以查找 steamid
查询参数。