Skip to content

Commit a99ba72

Browse files
save file
1 parent 931ee06 commit a99ba72

File tree

1 file changed

+220
-0
lines changed

1 file changed

+220
-0
lines changed
Lines changed: 220 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
<!DOCTYPE html>
2+
3+
<html lang=en>
4+
5+
<head>
6+
<meta charset=utf-8>
7+
8+
<title>
9+
Beyond HTTP: Node.js with Unix Sockets and Named Pipes
10+
</title>
11+
12+
<meta name=description content='Discover how to use Unix domain sockets and Windows named pipes in Node.js as a faster, lightweight alternative to HTTP requests for local inter‑process communication.'>
13+
14+
<base href='https://ext-code.com/blog/25-12-03/unix-sockets/'>
15+
<link rel=canonical href='https://ext-code.com/blog/25-12-03/unix-sockets/unix-sockets.html'>
16+
17+
<link rel=icon type='image/png' href='/blog/image/blog-30.png'>
18+
<meta name=viewport content='width=device-width, initial-scale=1'>
19+
20+
<script type='application/ld+json'>
21+
{
22+
"@context" : "https://schema.org",
23+
"@type" : "TechArticle",
24+
"headline" : "Beyond HTTP: Node.js with Unix Sockets and Named Pipes",
25+
"description" : "Discover how to use Unix domain sockets and Windows named pipes in Node.js as a faster, lightweight alternative to HTTP requests for local inter‑process communication.",
26+
"author" : {"@type":"Person","name":"Matthew Richards"},
27+
"datePublished" : "2025-11-15",
28+
"dateModified" : "2025-11-15",
29+
"mainEntityOfPage" : {"@type":"WebPage","@id":"https://ext-code.com/blog/25-12-03/unix-sockets/unix-sockets.html"},
30+
"publisher" : {"@type":"Organization","name":"ext-code.com","logo":{"@type":"ImageObject","url":"https://ext-code.com/favicon.ico"}},
31+
}
32+
</script>
33+
34+
<script src='https://ajaxorg.github.io/ace-builds/src-noconflict/ace.js'></script>
35+
36+
37+
<script src='https://libs.ext-code.com/js/dom/component/component.js'></script>
38+
39+
<script init>
40+
console.clear();
41+
console.log('unix-sockets.html');
42+
console.log();
43+
console.json=v=>console.log(JSON.stringify(v,null,4));
44+
var df=true,version='v2.0'
45+
;
46+
47+
var ace;
48+
49+
var ext;
50+
var $;
51+
var datatype;
52+
var menumod;
53+
var keydown;
54+
var debug;
55+
56+
var menu;
57+
58+
var hdr;
59+
var log;
60+
61+
62+
63+
//:
64+
65+
66+
async function init(){
67+
68+
menu = menumod();
69+
70+
hdr = mod['blog-hdr'];
71+
log = mod['log-mod'];
72+
73+
hdr.initmod({ext,$});
74+
log.initmod({ext,$});
75+
76+
77+
await Promise.all([
78+
hdr.init(),
79+
log.init(),
80+
]);
81+
82+
83+
initdom(document.body);
84+
85+
86+
}//init
87+
88+
89+
(async()=>{
90+
91+
mod.stack.add;
92+
93+
({ext} = await import('https://libs.ext-code.com/js/io/ext-loader/ext-loader.m.js'));
94+
95+
var promise = ext.load.libs(
96+
'js/dom/$.js',
97+
'js/core/datatype.js',
98+
'js/dom/menumod/menumod.js',
99+
'js/dom/keydown/keydown.js',
100+
'js/debug/debug.js',
101+
);
102+
103+
[$,datatype,menumod,keydown,debug] = await promise;
104+
105+
mod.stack.complete;
106+
107+
})();
108+
109+
</script init>
110+
111+
112+
113+
<link rel=stylesheet href='/blog/css/blog.css'>
114+
115+
<style>
116+
117+
118+
119+
html
120+
{height:100%;font-family:arial}
121+
body
122+
{min-height:calc(100% - 40px);display:flex;flex-direction:column;gap:20px;margin:20px;align-items:center;
123+
padding-bottom:200px;
124+
}
125+
body>*
126+
{max-width:1400px;width:100%}
127+
128+
[component]
129+
{display:none}
130+
131+
.description
132+
{max-width:1000px;text-align:justify;border-left:4px solid #4a90e2;padding:1rem 2rem;
133+
background-color:#f9f9f9;font-family:system-ui,sans-serif;font-size:1rem;line-height:1.6;color:#333}
134+
.description>p
135+
{margin:0}
136+
.description > p+p
137+
{margin:10px 0}
138+
139+
140+
.blog-text
141+
{margin:1.5rem auto;padding:1.25rem 1.75rem;background-color:#fcfcfc;/*#f9f9f9*/font-family:system-ui, sans-serif;font-size:1rem;line-height:2;
142+
color:#333;text-align:justify;border-radius:4px}
143+
.blog-text h2,.blog-text h3
144+
{margin-top:1.5rem;margin-bottom:0.75rem;font-weight:600;color:#222;}
145+
.blog-text p
146+
{margin:0 0 1rem 0;}
147+
148+
149+
150+
151+
152+
153+
154+
155+
code
156+
{font-family:monospace;background:whitesmoke}
157+
code.inline
158+
{display:inline;padding:5px 10px}
159+
160+
161+
162+
a
163+
{color:#4a90e2;text-decoration:none;font-weight:500}
164+
a:hover
165+
{text-decoration:underline}
166+
.link-domain
167+
{font-size:0.85rem;color:#777;margin-left:0.25rem}
168+
.link-domain::before
169+
{content:'['}
170+
.link-domain::after
171+
{content:']'}
172+
.link-txt
173+
{}
174+
175+
input
176+
{font-size:16px;padding:5px 7px;box-sizing:border-box;}
177+
input[type=button]
178+
{cursor:pointer}
179+
180+
181+
snippet-html-console,snippet-console
182+
{margin:30px 0;display:block}
183+
184+
185+
186+
</style>
187+
188+
</head>
189+
190+
191+
<body>
192+
193+
194+
<blog-hdr component=grp1>
195+
<h1 class=title>
196+
Beyond HTTP: Node.js with Unix Sockets and Named Pipes
197+
</h1>
198+
<time slot=date datetime=2025-12-03>
199+
03 Dec 2025
200+
</time>
201+
</blog-hdr>
202+
203+
<div class=description>
204+
<p>
205+
Discover how to use Unix domain sockets and Windows named pipes in Node.js as a faster, lightweight alternative to HTTP requests for local inter‑process communication.
206+
A typical way for programs to communicate with each other is through http, however this requires going through the network stack.
207+
</p>
208+
</div>
209+
210+
211+
212+
213+
214+
</body>
215+
216+
217+
</html>
218+
219+
220+

0 commit comments

Comments
 (0)