我的编程空间,编程开发者的网络收藏夹
学习永远不晚

NodeJS Web应用监听sock文件实例

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

NodeJS Web应用监听sock文件实例

像 NodeJS 写的 TCP 服务可以监听在某个 sock 文件(Domain Socket) 上,它的 HTTP 服务也能这么干。虽然作为 HTTP 服务连接某个 sock 文件的意义不大,所以这里只算是一个纯粹的尝试。

TCP 服务是这样写

var net = require('net');

net.createServer(function (socket) {

  socket.on('data', function (data) {

    socket.write('received: ' + data);

  });

}).listen('/tmp/node_tcp.sock');

连接上面那个 '/tmp/node_tcp.sock'
telnet /tmp/node_tcp.sock

Trying /tmp/node_tcp.sock...

Connected to (null).

Escape character is '^]'.

Hello World!

received: Hello World!

准确说来本文应该是 NodeJS 的 TCP 和 HTTP 监听 Domain Socket 文件。

对于 TCP 监听 Domain Socket 还是很常用的,比如有时对本机的数据库或缓存的访问就会这么做,像用 '/tmp/mysql.sock' 来访问本机 MySQL 服务,这样就不需要启动 TCP 端口暴露出来,安全性有所提高,性能上也有一定的提升。

现在来看看 NodeJS 的 HTTP 监听在 Domain Socket 上, 从经典的例子来改造下

var http = require('http');

http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'text/plain'});

  res.end('Hello Worldn');

}).listen('/tmp/node_http.sock');

console.log('Server running at /tmp/node_http.sock');

尚不知如何在浏览器中访问以上的 HTTP 服务,所以用 telnet 测试

telnet /tmp/node_http.sock

Trying /tmp/node_http.sock...

Connected to (null).

Escape character is '^]'.

GET / HTTP/1.1

HTTP/1.1 200 OK

Content-Type: text/plain

Date: Mon, 26 Jan 2015 04:21:09 GMT

Connection: keep-alive

Transfer-Encoding: chunked

c Hello World

0


能正确处理对 '/tmp/node_http.sock' 上的 HTTP 请求。

用 NodeJS HTTP Client 来访问

var http = require('http');

var options = { socketPath: '/tmp/node_http.sock', method: 'GET', path: '/' };

var req = http.request(options, function(res){ console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers));

res.on('data', function (chunk){ console.log(chunk.toString()); }); });

req.end();


执行上面的代码,假如文件名是 http_client.js,
node http_client.js

STATUS: 200

HEADERS: {"content-type":"text/plain","date":"Mon, 26 Jan 2015 04:25:49 GMT","connection":"close","transfer-encoding":"chunked"}

Hello World

本文只作记录,现在还想不到让 HTTP 服务监听在 Domain Socket 上的实际用意,况且浏览器也无法对它进行访问。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

NodeJS Web应用监听sock文件实例

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

NodeJS Web应用监听sock文件实例

像 NodeJS 写的 TCP 服务可以监听在某个 sock 文件(Domain Socket) 上,它的 HTTP 服务也能这么干。虽然作为 HTTP 服务连接某个 sock 文件的意义不大,所以这里只算是一个纯粹的尝试。 TCP 服务是
2022-06-04

Android创建文件实现对文件监听示例

代码如下:public class FileObserverTest extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.o
2022-06-06

Java利用WatchService监听文件变化示例

在实现配置中心的多种方案中,有基于JDK7+的WatchService方法,其在单机应用中还是挺有实践的意义的。代码如下:package com.longge.mytest;import java.io.IOException;import
2023-05-31

Android应用中Back键的监听及处理实例

MainActivity如下: 代码如下: package cn.testnbackpressed; import android.os.Bundle; import android.view.KeyEvent; import andro
2022-06-06

Android 监听应用前/后台切换实例代码

前言这周接到一个需求,需要在应用从后台切换到前台时,展示我们的广告。展示页面其实可以复用以前的开屏广告页,唯一的问题就是如何监听应用从后台切到了前台。正文在众多方法中,我采用了以下这种方式。废话不多说,咱们直接看代码://自定义Applic
2023-05-31

JAVA用户自定义事件监听实例代码

JAVA用户自定义事件监听实例代码很多介绍用户自定义事件都没有例子,或是例子不全,下面写了一个完整的例子,并写入了注释以便参考,完整的实例源代码如下:package demo;import Java.util.EventObject;/**
2023-05-31

nodejs创建简易web服务器与文件读写的实例

web服务器至少有以下几个特点: 1、24小时不停止的工作,也就是说这个进程要常驻在内存中 2、24小时在某一端口监听,如: http://localhost:8080, www服务器默认端口80 3、要能够处理基本的请求:如get, po
2022-06-04

springboot应用服务启动事件的监听怎么实现

本篇内容主要讲解“springboot应用服务启动事件的监听怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot应用服务启动事件的监听怎么实现”吧!一、简介Spring B
2023-06-29

解析和实施Golang文件监控应用的案例步骤

Golang文件监控应用案例解析及实现步骤一、引言文件监控是计算机系统中常见的功能之一,通过监控文件的变动,可以及时地获取文件的变化情况,对于一些需要实时监控文件的场景非常有用。本文将介绍如何使用Golang来实现一个简单的文件监控应用,
解析和实施Golang文件监控应用的案例步骤
2024-02-25

Android TextView实现带链接文字事件监听的三种常用方式示例

本文实例讲述了Android TextView实现带链接文字事件监听的三种常用方式。分享给大家供大家参考,具体如下:/** * TextView实现文字链接跳转功能 * @description: * @author ldm * @date
2023-05-30

NodeJS学习笔记之Connect中间件应用实例

一,开篇分析 大家好哦,大熊君又来了,昨天因为有点个人的事没有写博客,今天又出来了一篇,这篇主要是写一个记事本的小应用,前面的文章, 我也介绍过“Connect”中间件的使用以及“Mongodb”的用法,今天就结合这两个中间件,写个实际的例
2022-06-04

怎么在Android应用中利用ListView实现一个监听滑动事件

怎么在Android应用中利用ListView实现一个监听滑动事件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ListView的主要有两种滑动事件监听方法,OnTouchLi
2023-05-31

Spring boot+LayIM + t-io如何实现文件上传和监听用户状态

小编给大家分享一下Spring boot+LayIM + t-io如何实现文件上传和监听用户状态,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!springboot
2023-05-30

JavaScript鼠标拖动事件监听使用方法以及实例效果演示

最近工作中遇到了鼠标拖动事件监听的相关需求,所以下面这篇文章主要给大家介绍了关于JavaScript鼠标拖动事件监听使用方法以及实例效果演示的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-05-18

干货 | 玩转云文件存储——利用CFS实现web应用的共享访问

京东云文件服务(Cloud File Service,以下简称:CFS)是一种高可靠、可扩展、可共享访问的全托管分布式文件系统。它可在不中断应用服务的情况下,根据您对文件系统的使用,按需扩展或缩减,并按照实际用量计费。采用NFS协议,支持P
2023-06-04

node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用

在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按下CTRL+C终止程序,然后再重新启动,即使是修改一点小小的参数,也总是要不断地重复这几个很烦人的操作。有没有办法做到当文件修改之后,Node.js自动重新启动(或重新加
2022-06-04

编程热搜

目录