Articles of sockets

如何在Node.js中将express与tcp-socket相结合

我用node.js实现了我的第一个networking应用程序并expression。 它工作正常。 结构如下。 app.get('/', (request, response) => { response.render('home', {orders, actualPosition, path}); }); app.post('/', function(req, res){ //do something res.redirect('/') }) app.listen(8080, () => { console.log(`Listening on http://127.0.0.1:${port}/ !`); }) 现在我想用matlab程序进行通信,最好通过tcp / ip进行通信。 意思是我有一个matlab程序,与web应用程序交换数据。 我通过在另一个端口上打开一个带有networking的服务器来实现发送数据: var server = net.createServer(function(socket) { //read data socket.setEncoding("ascii"); //set data encoding (either 'ascii', 'utf8', or 'base64') socket.on('data', function(data, res) { //update […]

Docker / Node错误:错误:连接ENOENT /var/run/docker.sock

我试图得到一个简单的Dockerfile来运行一个节点应用程序,到目前为止这一直很困难。 我终于得到它运行和编译,但我遇到了以下错误。 这是我的第一个dockerfile,我真的没有看到这个错误之前或在线: patientplatypus:~/Documents/pypy-sandbox-server:18:42:13$sudo docker run -it compile > pypy-sandbox-server@1.0.0 start / > npm install && node api/app.js npm WARN pypy-sandbox-server@1.0.0 No repository field. up to date in 1.352s in app.js – SANITY CHECK info: Initializing Sandbox error: Error: connect ENOENT /var/run/docker.sock at Object._errnoException (util.js:1024:11) at _exceptionWithHostPort (util.js:1046:20) at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1185:14) 我的dockerfile本身应该非常简单。 我正在做的唯一“棘手的事情”是构成多个docker镜像(这对于我的特殊用例是必需的)。 […]

在Windows 7上安装node.js的socket io

当我运行节点服务器时,控制台显示“ info – socket.io started ”。 但是,它从不检测来自客户端的连接。 我相信这是安装socket.io的问题,因为我正在运行Windows 7机器。 当我尝试从客户端连接到服务器时,我的服务器控制台显示“ debug-served static content /lib/socket.io.js ”。 任何人有任何build议如何让我的套接字IO成功地从客户端连接到我的Windows 7机器上? 现在,我有位于以下目录中的socket.io文件夹: 的NodeJS / node_modules / socket.io / 我在服务器端为节点中的tcp服务器有以下代码: var http = require('http'), sys = require('util'), fs = require('fs'), io = require('socket.io'); console.log('Creating server…'); var server = http.createServer(function(request, response) { response.writeHead(200, { 'Content-Type': 'text/html' }); var rs = fs.createReadStream(__dirname […]

它可能使用JavaScript套接字客户端统一js脚本..?

是统一的JS脚本支持套接字客户端使用JavaScript? 或任何build议使用JavaScript套接字客户端统一? 我尝试socket.io库的JavaScript套接字客户端,但我不知道如何实现在统一,任何人都可以解释? <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect('http://localhost'); socket.on('news', function (data) { console.log(data); socket.emit('my other event', { my: 'data' }); }); </script> 这个代码在HTM页面,我想我有想法包括在统一脚本的脚本,但我找不到文件…感谢您的帮助

mqtt messaging.client javascript nodejs

我是新来的JavaScript的mqtt消息客户端。 任何人都可以说这个代码是写在客户端或服务器端的。 client = new Messaging.Client(location.hostname, Number(location.port), "clientId"); client.onConnectionLost = onConnectionLost; client.onMessageArrived = onMessageArrived; client.connect({onSuccess:onConnect}); function onConnect() { // Once a connection has been made, make a subscription and send a message. console.log("onConnect"); client.subscribe("/World"); message = new Messaging.Message("Hello"); message.destinationName = "/World"; client.send(message); }; function onConnectionLost(responseObject) { if (responseObject.errorCode !== 0) console.log("onConnectionLost:"+responseObject.errorMessage); }; function onMessageArrived(message) { […]

如何在NodeJS中访问subprocess的套接字?

我目前遇到一个很奇怪的问题。 我正尝试使用NodeJSsubprocess启动VLC,然后使用套接字访问它的远程控制(RC)接口。 连接到此sockets时发生此问题。 我得到一个错误,连接被拒绝。 端口是开放的,应用程序是从防火墙允许的。 棘手的部分是,当我用这个接口手动打开VLC,只尝试在套接字上连接,它的工作原理。 我假设在产生的过程中的东西使事情不同,导致错误莫名其妙。 这是我试图运行的代码: var spawn = require('child_process').spawn; var file_dir = "V:\\TEST\\"; var files = ["Ika.mkv", "Nami.mkv", "Azu.mkv"]; var player = spawn("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe", ['–intf="rc"', '–rc-host="localhost:3000"', '–fullscreen', file_dir + files[0]]); var net = require('net'); var client = net.createConnection(3000, "localhost"); client.on('connect', function() { console.log('connected to VLC on port 3000'); client.write("add " + […]

从Client.py到Node Server.js的套接字(_ssl.c:590)

我得到这个错误 File "C:\Python27\lib\ssl.py", line 844, in connect self._real_connect(addr, False) File "C:\Python27\lib\ssl.py", line 835, in _real_connect self.do_handshake() File "C:\Python27\lib\ssl.py", line 808, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) 我试图build立一个安全的连接(ssl.socket)之间的python客户端和node.js服务器,我采取了上述错误。 我不知道什么是缺失或什么是我的错。 这里是我的源代码python客户端和node.js服务器 Node.js中的服务器套接字: var _HOST = '192.168.1.136'; var _PORT = 1337; var _address; const tls = require('tls'); const fs = require('fs'); const options = […]

Socket.io – 通过Cloudflare的SSL

我已经阅读了几乎所有可能的关于如何通过socket.io接收SSL的教程,我似乎无法使其工作。 我的后端JS如下: var express = require('express'); var options = { key: fs.readFileSync('/key.key'), cert: fs.readFileSync('/crt.crt'), requestCert: true }; var app = express(); var server = require('https').createServer(options, app); var io = require('socket.io').listen(server); server.listen(2096, "IP Address"); 前台JS: SOCKET = io('https://name.com:443', {secure: true}); 我正在使用完整的SSL,在我的服务器上安装了cloudflare签名的证书。 连接时我也收到以下错误: POST https://name.com/socket.io/?EIO=3&transport=polling&t=LcBk2Vk 404() 我不确定我的端口是不正确的还是我完全错过了一些东西。 我很高兴提供更多的代码片段。 提前致谢

将SSL密钥和证书文件传递给Socket.IO安全吗?

我正在使用Socket.IObuild立networking聊天 为了通过HTTPS在Port 3000上进行通信,我需要传递我的SSL Key和证书文件。 Socket.IO是一个开源项目,我不知道如何让它能够访问像我的证书和密钥文件这样的安全文件。 以下是来自运行在服务器端的nodeJS : var fs = require('fs'); var https = require('https'); var express = require('express'); var app = express(); var options = { key: fs.readFileSync('../chat/file.pem'), cert: fs.readFileSync('../chat/file.crt') }; var server = https.createServer(options, app); var io = require('socket.io')(server); Socket.IO安全可靠吗? 如果没有,build议如何使其安全? 任何帮助将非常感激。 谢谢。

与http服务器,websocket和快递的体系结构

我正在尝试使用NodeJs“http-server”,“express”和“web socket”来创build一个网站。 基本上,“http-server”是监听端口“8080”,在“index.html”页面上,我有一个简单的表单来执行login。 这就是我有点卡住了。 其实,我读了这篇文章( https://auth0.com/blog/2014/01/15/auth-with-socket-io ),我试图重现身份validation过程。 所以我试图创build“快速”应用程序来处理“/login”路线,但是,我有一个端口问题。 我无法听到“http-server”使用的端口“8080”,我不能听到另一个端口,因为如果我这样做,我的AJAX调用“/ login”路由将被阻止由CORS系统。 我的目标很简单:我想有一个web服务器提供html / css和javascript文件(这是一个普通的web服务器),但我也想用一个“NodeJs”模块来使用“express”来处理login和websocket其余的沟通。 我看到有可能在同一个端口上使用“ws”和“express”,但我不知道如何通过网站启用AJAXloginfunction。