Tag: 套接字

nodejs:mysql无法访问连接查询callback中的全局variables

以下是我的代码 我从客户端JavaScript发送数据对象到这个函数的数据打印它的值 在socket.on中 和 在socket.on – > connection.query(SQL,[],函数(错误,行){数据打印在这里}) 和 在socket.on – > connection.query(SQL,[],函数(错误,行){数据打印在这里}) – > connection.query(SQL,[],函数(错误,行){数据打印未定义}) socket.on('sendmessage', function (data) { var data = JSON.parse(data); console.log(data); if (data.cuserid != '' && users_connected.hasOwnProperty(data.cuserid) && fs.existsSync(users_connected[data.cuserid]['sessionfile'])) { sql = "update hired set echat='Y' where eid=? and jobid=? and jid=? and status in ('given','finished')"; connection.query(sql, [data.cuserid, data.jobid, data.userid], function […]

通过socket_io传递socket.io空间?

我正在使用socket_write来打开websocket并将数据传递给node.js socket.io服务器。 我正在发送一些HTML,如下所示: private function openSocketConnection($address = 'localhost', $port = 5600) { $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_connect($socket, $address, $port); return $socket; } $socket = $this->openSocketConnection(); socket_write($socket, $html, strlen($html)); 这工作得很好,并把我的数据发送到我的node.js socket.io服务器,我这样捕捉它: socket.on('data', (msg) => {}); 但我现在想发送的数据,所以一个特定的房间,而不是一般的socket.io房间。 有没有一种方法可以指定一个房间? 也许当使用socket_create()什么的? 如果可能的话,显然我想阻止在每个socket_write上传递房间名称。

JavaScript的Socket io和诺言

我正在尝试使用套接字io和redux来构build一个消息传递web应用程序,而且这篇文章会遇到。 我不能发表评论提出问题,所以我张贴一个新的问题,问在这个post的答案(抱歉,如果我违反了stackoverflow quideline,但似乎没有办法给我评论。)第一部分不明白的是 在socketClient.js中 emit(event, data) { return new Promise((resolve, reject) => { if (!this.socket) return reject('No socket connection.'); return this.socket.emit(event, data, (response) => { // Response is the optional callback that you can use with socket.io in every request. See 1 above. if (response.error) { console.error(response.error); return reject(response.error); } return resolve(); }); }); } […]

一台机器上有两个(或多个)套接字客户端连接

我有一个简单的node.js客户端和服务器程序运行在一台机器上,当我尝试与客户端程序的第二个实例同时连接到服务器时,我得到EADDRINUSE, Address already in use错误。 是否可以在同一台机器上有两个或多个基于TCP的套接字客户机连接(使用createConnection创build)到一个服务器(使用createServer创build),或者只有一个客户机程序可以同时连接到服务器?

Socket.io客户端请求源URL

在客户端,在浏览器中,我有这样的代码: this.socket.on('initial', function(data) { console.log(data); }); 在服务器上我有: socket.sockets.on('connection', function(client){ console.log('client connected'); }); 我的问题是:如何检测请求来自哪里的URL? 例如,如果第一个闭包在“/ posts / view / 1”上运行,我希望能够在第二个闭包内部检测到它。

nodejs中是否有一种“Socket连接池”?

为了避免花费在创build套接字上的时间。 我的节点服务器需要一些“长连接”(TCP Socket)与在后台运行的C编写的服务器保持通信,并且所有'http请求'都可以共享池中的TCP套接字。 我不知道在nodejs中是否有一种套接字池实现? (类似于数据库连接池) 任何帮助将不胜感激 !

Cloud 9 IDE上的Socket.io – 警告:错误提出:错误:听EACCES

我正在开发Cloud 9 IDE。 这是我收到的错误: 警告:错误提出:错误:听EACCES 我正在使用云端9指定在我的代码中使用listen:process.env.PORT 这是我的代码: //app.js Socket IO Test var express = require("express"), redis = require('socket.io/node_modules/redis'), io = require('socket.io').listen(app); var app = express(); var redisPort = [CENSORED] , hostname = [CENSORED] , password = [CENSORED] , db = 1; var pub = redis.createClient(redisPort, hostname); var sub = redis.createClient(redisPort, hostname); var store = redis.createClient(redisPort, […]

SocketIO广播太快了

我想每秒向每个客户端发送一条消息(将其视为自定义心跳机制)。 因此,NodeJS应用程序启动,套接字被创build,当我从客户端应用程序连接心跳消息广播。 我仍在开发客户端应用程序,这意味着始终打F5并重新加载应用程序。 新的客户端SocketIO连接是在加载时创build的,这会导致心跳消息以高于1个消息/秒的速度进入客户端应用程序。 代码 – 服务器端没有什么特别的地方: var server = http.createServer(app); var io = require('socket.io').listen(server); server.listen(8080); io.sockets.on('connection', function(socket) { … setInterval(function() { console.info('broadcasting heartbeat'); socket.broadcast.emit('heartbeat', /* custom heartbeat*/); }, 1000); … }); 客户端: var socket = io.connect('localhost', { 'reconnect': false, port: 8080 }); socket.on('heartbeat', function(data) { console.log('heartbeat'); }); 有人可以给我一些build议有什么不对吗? 谢谢

你如何使用NodeJS在套接字上进行HTTP GET请求?

我正在使用硬件设备(我没有创build),它有一个标准的方式通过套接字连接与它通信。 设备通过联系我的服务器(NodeJS服务器)启动套接字连接。 我已经成功地build立了一个套接字连接… var socketServer = net.createServer() .listen(9999, function(){ console.log('SOCKET Listening at: http://localhost:9999'); }); socketServer.on('connection', function(sock) { console.log('CONNECTED: ' + sock.remoteAddress +':'+ sock.remotePort); console.log(sock); // Need to fire HTTP GET HERE }); 但是,我现在需要通过该套接字连接发送一个HTTP GET请求。 到目前为止,我可以找出如何做到这一点的唯一方法是手动 socket.write自己的GET。 我所希望的是一些像http这样的类,它允许你做类似… http.get(socket, function(res){ // Handler code }) 我几乎积极的问题是做我在NodeJS newb,所以我花了大约3-4小时淘金的计算器和谷歌的答案迄今没有成功。

Python的TCP套接字客户端

我需要有一个TCP套接字客户端连接到服务器发送数据和接收。 但是,这个套接字必须一直打开,我不能打开另一个套接字。 我总是有一些数据要发送,然后处理以前发送的数据的答案。 如果我可以打开多个套接字,我认为它更容易。 但在我的情况下,我必须发送一切在同一个套接字asynchronous。 所以问题是,你推荐在Python生态系统中使用什么? (扭曲,龙卷风等)我应该考虑Node.js或另一种select?