Articles of websocket

如何从客户端触发对nodejs服务器的调用javascript

新的networking编程。 对不起,可能没有问题。 我正在使用nodejsbuild立一个网站。 我想要做的是:每当页面刷新(或整个页面呈现 – 我将使用window.onload ),我想从我的HTML文件中的Javascript脚本触发一个调用到我的nodejs服务器通知它。 服务器将执行一些数据库操作等。 我需要了解如何做到这一点。 套接字或AJAX调用? 如果Ajax调用,我在哪里定义路由/函数来处理这个调用? 如果我在我的routes.js文件中定义它,它是否可访问?

来自服务器套接字连接的实时图表数据?

我知道一个使用socket.io的网站 我想知道什么最好的套接字应用程序模板是连接到服务器作为客户端,然后接收所有的信息,并根据用户(我)select的json中的对象实时绘制图表。 只是一个简单的折线图,您可以在其中指定希望从套接字源中显示哪些对象。 我之前从来没有使用过套接字,在Google整天阅读完教程之后,我想确定这是甚至可能的,而我不是在寻找一些不存在的东西。 谢谢你,恩 。

在nodejs和angularjs中使用套接字

我是新的socket.I有问题,而在我现有的项目中使用套接字。我已经在我的项目中包括socket.io.js文件,也创build使用套接字的工厂。 套接字请求正从angular度方向成功。 我想要做什么时,我的API响应中的东西被改变,它会自动调用并显示结果在我的页面。所以这里是我的代码。我不知道我怎么能实现这个与套接字 app.get('/ttms/getAlertsMessage/:customerid/:timstmp', getCookies, ttms.getAlertsMessage);// route var socket = require('socket.io'); var io = socket.listen(server); app.set('socketio', io); io.on('connection', function (socket) { console.log("==============connected=========")// this shows me connected socket.on('test',function(data){ console.log(data) }) }); 这里是节点api将调用: exports.getAlertsMessage = function(req, res, next) { var customeruuid = req.param('customerid'); var start_time = new Date().getTime(), request = require('request'), api_url = global.common.base_url + 'ams/1.0.0/message/customeruuid/'+customeruuid; var […]

ws +expression如何连接到websocket

我试图有史以来第一次使用networking套接字,经过一些研究,我决定使用WS。 我也使用快递,但我没有看到有什么特别的,只有当我使用它的服务器端(我相信,但我仍然有点困惑在一般的networking套接字)。 我只需要连接到一个Web套接字并发送一个ping请求并等待响应。 我有一个默认的快速应用程序: bin/www #!/usr/bin/env node const app = require("../app"); const debug = require("debug")("myapp:server"); const http = require("http"); const WebSocket = require("ws"); const ws = new WebSocket("ws://address-to-connect"); var port = normalizePort(process.env.PORT || "3000"); app.set("port", port); var server = http.createServer(app); server.listen(port); server.on("error", onError); server.on("listening", onListening); function normalizePort(val) { let port = parseInt(val, 10); if (isNaN(port)) […]

将“存在”扩展到多个服务器

如何扩展到多个服务器的存在? 我的意思是接近用户在线/连接状态的实时数据。 我最初的想法 服务器 挑战:如何知道其中一台服务器是否崩溃? 它可能没有机会“注销”。 如果websocket服务器联机,用TTL将服务器主机写入Redis websocket服务器每隔X秒更新TTL(心跳)以防止删除 如果服务器脱机或崩溃,TTL将从Redis中删除该服务器 现在我知道可靠和接近实时(取决于TTL和心跳间隔我使用)通过做一个简单的查询哪些服务器在线。 我试图想到更简单甚至更“实时”的事情,但我不知道其他防弹方法是否知道其中一台服务器是否崩溃。 用户 挑战:如何知道用户的在线状态是否有效:服务器没有崩溃等? 如果用户连接,则将用户在线状态和服务器主机写入Redis 如果用户断开连接,请将Redis中的用户状态更新为脱机并删除主机 如果我想知道用户是否在线: 从Redis查询用户对象 如果用户状态在线 ,则从用户对象获取服务器主机 从Redis查询服务器主机 如果服务器主机存在,服务器在线 – 用户在线状态有效 我没有使用TTL的用户,因为这将是很多Redis的开销和用户对象包含元数据我不想删除,例如lastTimeOnline 。 我现在已经使其可扩展,但我需要做出几个请求,以了解用户状态,我也需要担心Redis缩放。 有没有一种方法可以在没有我刚制作的所有开销的情况下进行扩展?

DirectLine客户端从websocket获取来自bot的多个响应

我正在开发一个使用Swagger和直接在Node.js上跟随这个例子的聊天机器人:( https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/core-DirectLineWebSockets ) 每次我发送一条消息到机器人,我收到以前发送的每个消息的多个响应。 例: 消息发送1 回应1 消息发送2 回应2 回应2 消息发送3 回应3 回应3 回应3 用例与这个问题类似,但用websocket。 ( DirectLineJS接收Bot回复的副本 ) 发信息: // send message to bot function sendMessages(client, conversationId, utterance) { logger.debug("*** SEND A MESSAGE "); client.Conversations.Conversations_PostActivity( { conversationId: conversationId, activity: { textFormat: config.activity.textFrormat, text: utterance, type: config.activity.type, from: { id: callSid } } }).catch(function (err) { […]

如何在没有浏览器的情况下连接节点服务

我使用github上的node-jet库在websocket上构build一个客户端服务器。 其实我也问过这个问题也是库开发人员,但是没有得到任何回应。 有一个deamon,并有同行连接到它。 在它的文档中说peer可以通过webcoket或者普通的tcp连接来连接(以前从来没有用过第二个) 这里是我试图连接的服务器代码(当我尝试连接时运行) https://github.com/lipp/node-jet/blob/master/examples/todo/todo-server.js 一切工作正常,如果我在浏览器中运行我的同行JavaScript,但是,我不能够独立运行它。 var peer3 = new jet.Peer({ url: 'wss://217.78.109.178:8090' //url: (window.location.protocol === 'http:' ? 'ws://' : 'wss://') + window.location.host }) 文档说,如果没有提供url,它将使用普通的TCP,所以我也试过这个。 再次在浏览器中工作,但不是独立的。 任何想法 ? 我怎么解决这个问题 ? var peer3 = new jet.Peer({ }) $ node Peer.js Peer: connect failed { no remote stack name: 'jet.ConnectionClosed', message: '', url: 'https://github.com/lipp/node- jet/blob/master/doc/peer.markdown#jetconnectionclosed' }

使用socket io在服务器上进行file upload

嗨,我是节点js和套接字io的初学者。 请给我build议使用套接字io和android的服务器上传文件的最佳方式是什么。 我想上传文件像what'sapp。 请帮帮我

连接到websocket服务器:确定从JavaScript,不能从PHP

我正在使用socketio来运行一个websocket服务器。 var fs = require('fs'); var options = { key: fs.readFileSync('/etc/letsencrypt/live/my.domain.be/privkey.pem'), cert: fs.readFileSync('/etc/letsencrypt/live/my.domain.be/fullchain.pem') }; var app = require('https').createServer(options) , io = require('socket.io').listen(app) app.listen(6666); 连接到它从JavaScript(使用socket.io客户端)工作正常。 var socket = io.connect('wss://my.domain.be:6666'); 这也适用于: var socket = io.connect('https://my.domain.be:6666'); 现在我想连接使用PHP。 我在这里find了一个简单的PHP客户端: 如何使用WebSocket发送来自PHP的数据/文本进行处理? 但是在使用时我看不到传入的连接: $WebSocketClient = new WebsocketClient('wss://my.domain.be', 6666); $WebSocketClient->sendData("MyUserNameFromPHP"); 我得到的错误: 错误:22145040:无法find套接字传输“wss” – 您忘记configurationPHP时启用它? 使用时: $WebSocketClient = new WebsocketClient('https://my.domain.be', 6666); 我得到的错误: 错误:10905616:无法find套接字传输“https” […]

编写一个基于反应的聊天应用程序,实时更新Express,Mongodb,Nodejs

我正在编写一个聊天应用程序的应用程序,它需要使用websockets或socket.io来检查服务器中的更新。 它会将信息传递给所有的客户。 GitHub存储库已连接。 我想弄清楚如何实现websockets / socket.io。 如果任何人都可以给我一些关于文件放置的提示,或者帮我弄明白,那将是太棒了。 链接到该项目: https : //github.com/vschool-september-2017/chatter