Tag: socket.io

Node.js应用程序,用于stream式传输video,如何从其他一些IP捕获。

该应用程序将托pipe在局域网上。 每当有人打开应用程序。 屏幕上出现两个选项。 您可以设置自己的videostream或订阅其他人的videostream。 该stream是一个video缓冲区,正在您的浏览器或您正在订阅的用户的浏览器上播放。 对于播放video,我们可以简单地使用HTML5播放器。 为了订阅别人的stream,我应该创build一个IP地址将被input的文本框和一个button来开始获取stream。 有人可以帮助我做出决定,最好的方法吗? TIA

Socket.io不能在节点服务器上工作

我正在运行一个服务器,它需要做的就是连接到第三方公共socket.iostream。 我有我的反应的应用程序工作,但不能让它在我的服务器上工作。 我使用节点和express.When我运行时,我没有得到任何的错误。 这是我的代码 var express = require("express"); var app = express(); var port = 3000; var io = require('socket.io-client/dist/socket.io'); var socket = io.connect('http://socket.coincap.io', {transports: ['websocket']}); socket.on('trades', function(tradeMsg) { console.log("worked"); }); app.listen(port, () => { console.log("Server listening on port " + port); });

无法使用nodejs中的https连接套接字

在使用nodejs开发一个聊天应用程序的时候,我试图通过使用http命名空间的帮助来连接套接字,这是完全正常的。虽然我使用https运行相同的应用程序,但是没有连接到套接字代码。 服务器 require('./libs/socketioCode.js').sockets(https); var options = { key: fs.readFileSync('privkey.pem'), cert: fs.readFileSync('cert.pem') }; var server = http.createServer(app).listen(3000); var server1 = https.createServer(options, app).listen(3443); var io = require('socket.io').listen(server1); sockets module.exports.sockets = function(https){ io = socketio.listen(https); 我试过这个代码使用很多方法,但我failed.i得到错误,如GET /socket.io/?EIO=2&transport=polling&t=1505985336768-986 200 17.325 ms – 1454 Page Not Found 。提前GET /socket.io/?EIO=2&transport=polling&t=1505985336768-986 200 17.325 ms – 1454 Page Not Found 。

SSL连接到socket.io nodejs监听http不是https

我正在使用以下代码访问基于https的socket.io 我的3000 http端口正在监听http请求,但不会将它们redirect到https端口。 url不会重新启动app.get('*') server.listen(8000, function() { console.log('listening on *: 8000'); }); http.listen(3000, function() { console.log('listening on *: 3000'); }); httpapp.get('*',function(req,res) { console.log("redirecting"); res.redirect('https://xx.xx.xx.xx:8000'+req.url) }) app.get('*',function(req,res) { console.log("SSL :" + req.url); }) var mysql = require('mysql'); var express = require('express'); var https = require('https'); var con = mysql.createConnection({ host: 'localhost', user: 'root', password: '', database: […]

vue的socket.io连接尝试返回“否”访问控制允许来源“标题存在”错误即使已设置的来源

我一直在试图debugging这几天,我已经有一个其他应用程序的套接字的经验,但它是在同一个域,我不认为我会遇到这个跨域的麻烦vue.js应用程序虽然 我一直在尽我所能debugging这些,基本上已经尝试了所有我能想到的东西。 在node.js服务器中,我已经设置了起源 let io = require('socket.io')(http, {origins: '*:* agora.dev:*'}) 然后我聆听与之的联系 io.on('connection', (socket)=>{ console.log('connection received') }) 但没有连接。 而在vue应用程序页面的控制台,我得到的是这些404错误说 https://gyazo.com/0197aaa3d12ba37d852d3d4b136f2afa agora.dev/:1 XMLHttpRequest无法加载http://agoraserver.dev/socket.io/?EIO=3&transport=polling&t=Lwj7pq6 。 请求的资源上没有“Access-Control-Allow-Origin”标题。 Origin'http: //agora.dev '因此不被允许访问。 该响应具有HTTP状态码404。 我正在使用vue.js webpack模板,以及vue-socket.io包和socket.io-client包。 所以我的main.js vue应用程序文件看起来像这样 import Vue from 'vue' import App from './App' import router from './router' import socketio from 'socket.io-client' import VueSocketIo from 'vue-socket.io' var SocketInstance = socketio('http://agoraserver.dev') […]

Node.js发行w / Engine.io

我在处理服务器端节点脚本时遇到问题。 我有一个VPS和运行节点app.js在我的网站1的其他虚拟文件夹中工作得很好。 但是,当我在我的网站2虚拟文件夹中运行节点app.js它说 /home/website2/node_modules/engine.io/node_modules/uws/uws.js:3 const http = require('http'); ^^^^^ SyntaxError: Use of const in strict mode. at Module._compile (module.js:439:25) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Server.init (/home/website2/node_modules/engine.io/lib/server.js:115:16) at new Server (/home/website2/node_modules/engine.io/lib/server.js:65:8) at Function.attach (/home/website2/node_modules/engine.io/lib/engine.io.js:123:16) at Server.initEngine (/home/website2/node_modules/socket.io/lib/index.js:274:21) 首先,我会的 cd /home/website2 那我就去 node app.js 这显示了上面的错误,但是当我 cd […]

节点套接字应用程序新实例作用

这是一个简单的套接字应用程序使用事件库模式 const invitation = require('./invitation'); module.exports = function(io){ io.on('connection', (socket)=>{ var prepareGame = new PrepareGame(socket) socket.on("sendInvitation",(data, ack)=>{ prepareGame.sendInvitation(data,ack) }); }); } 并在prepareGame.js const events = require('events'); const util = require('util'); class PrepareGame extends events { constructor(socket) { super(); this.user = socket.user var self = this draftInvitation(data){ this.newInvitation = { from_user: self.user.id, to_user: data.to_user, message:data.message, created_at:moment().unix(), […]

如何在控制器文件中使用socket.io

我正在使用Node.JS Express和socket.io。 所以我的想法是直接从我的控制器的插入方法发出消息。 在我的server.js文件中,iam创buildsocket.io对象,并尝试使其可用于其他模块: 我的server.js是这样的 require('rootpath')(); var express = require('express'); var app = express(); var cors = require('cors'); var bodyParser = require('body-parser'); var expressJwt = require('express-jwt'); var config = require('config.json'); var mongoose = require('mongoose'); mongoose.connect(config.connectionString); var db = mongoose.connection; db.on('error',console.error.bind(console,'Connection error')); db.on('open',function(){ console.log('connected'); }); app.use(cors()); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); // use JWT auth to […]

这真的是P2P?

我在这里使用socket.io-p2p尝试发送图像文件。 由于它是p2p,我认为该文件没有被上传到服务器,并且直接发送到连接的对等端。 我设法用我有的代码传输一个文件,但我很不确定这是否是一个真正的P2P传输,因为在我看来,该文件是上传到我的服务器,然后发送到另一个对端,而不是一个实际的P2P两个设备之间的连接。 无论是在标签之间还是在不同networking上的两个不同设备之间发送文件,我都会在DU Meter中上传和下载尖峰。 我知道信号部分是在我的服务器上完成的,但是如果这是真正的p2p,那应该是关于它的。 当然,我可能是错的,所以我要求评估。 你们有什么感想? server.js var app = require("express")(); var express = require("express"); var server = require("http").Server(app); var p2pserver = require("socket.io-p2p-server").Server; var io = require("socket.io")(server); var ss = require("socket.io-stream"); var path = require("path"); app.use(express.static(__dirname)); io.use(p2pserver); var peerNum = 0; io.on("connection", function(socket) { console.log("Peer " + peerNum + " connected"); io.emit("peer-num", peerNum); […]

服务工作者在React应用程序中刷新后导致空白页面

我有一个部署到Azure的Node应用程序,一个testing分支通向一个分段实例,一个master分支指向了分发部署。 我的应用程序可以在本地应用程序的所有实例上正常工作,但是生产和临时存在一个问题,如果它们已经被caching,它们将不会加载,并且在刷新之后将显示为空白,最后将在caching重置时正常工作。 每当我刷新生产页面,它只是空白。 服务人员正在运行(我可以在chrome serviceworkers-内部工具中看到它),但该页面从不加载。 生成的文件引用是正确的。 你可以看到这里发生的事情的一个例子: Live Site ,然后你也可以看到testing站点也失败了,部署了完全相同的代码: testing站点 。 ServiceWorker实现的整体是从create-react-app开箱的。 我已经花了好几个小时的时间来尝试跟踪这个bug,在反应样板和创build反应应用程序回购下的各种GitHub问题,没有一个真正除了限制页面caching之外的任何地方,我试图做与无济于事有: 的index.html <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/> <meta http-equiv="Pragma" content="no-cache"/> <meta http-equiv="Expires" content="0"/> 你可以find任何代码,你有任何代码在回收的托pipe所有这些代码的问题。 我只是用React / Node弄湿了自己的脚,所以我在墙上,并没有真正看到如何解决这个问题,而没有完全取消ServiceWorker的注册。 编辑:我完全从index.js文件中删除ServiceWorker代码,现在重新加载没有任何问题。 是否需要完成一个步骤才能让ServiceWorker正确地从caching中重新加载页面?