Ana*_*pon 9 javascript sockets linux unix-socket node.js
我正在开发一个node.js应用程序,它将连接到UNIX套接字(在Linux机器上),并促进网页和该套接字之间的通信.到目前为止,我已经能够在我的主app.js中创建套接字并与此代码来回通信:
var net = require('net');
var fs = require('fs');
var socketPath = '/tmp/mysocket';
fs.stat(socketPath, function(err) {
if (!err) fs.unlinkSync(socketPath);
var unixServer = net.createServer(function(localSerialConnection) {
localSerialConnection.on('data', function(data) {
// data is a buffer from the socket
});
// write to socket with localSerialConnection.write()
});
unixServer.listen(socketPath);
});
Run Code Online (Sandbox Code Playgroud)
此代码使node.js创建一个UNIX套接字,/tmp/mysocket
并通过nc -U /tmp/mysocket
在命令行上进行测试来获得良好的通信.然而...
我想从我的node.js应用程序建立与现有UNIX套接字的连接.使用我当前的代码,如果我从命令行创建套接字(nc -Ul /tmp/mysocket
),然后运行我的node.js应用程序,套接字和我的应用程序之间没有通信('connect'事件不是从node.js服务器对象触发的).
有关如何完成此任务的任何提示?我使用node.js函数的实验net.createSocket
而不是net.createServer
迄今为止失败了,我不确定这是否是正确的轨道.
dus*_*uff 17
您正在寻找的方法是net.createConnection(path)
:
var client = net.createConnection("/tmp/mysocket");
client.on("connect", function() {
... do something when you connect ...
});
client.on("data", function(data) {
... do stuff with the data ...
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10447 次 |
最近记录: |