Unix / Windows
Basic events, sync flow, raw buffers, and multi-client broadcast on one machine.
Browse local examples →Pick one small pattern
Open only the transport and behavior you need. These are the 14.x Node.js examples; native Rust examples have their own focused page.
The node-ipc JavaScript package is Node.js-only and does not run in web browsers, whether bundled or unbundled. These examples use native process and socket APIs; they are not browser examples.
Basic events, sync flow, raw buffers, and multi-client broadcast on one machine.
Browse local examples →Local or remote stream clients and servers with the standard event contract.
Browse TCP examples →Certificate configurations from local development through mutual authentication patterns.
Browse TLS examples →Independent UDP4 endpoints, request/reply addressing, broadcasts, and raw datagrams.
Browse UDP examples →Multiple Node.js processes coordinating around a local socket ownership model.
Browse cluster examples →See the complete repository tree when you need to compare multiple patterns.
Browse the example directory →Use the matching TCP, UDP, Unix/Windows, TLS-boundary, cluster, and Node/Rust interoperability examples.
Open Rust examples →Start with one client event and one server response. It is the clearest place to add validation and authorization.
ipc.server.on('request', (data, socket) => {
ipc.server.emit(socket, 'response', handle(data));
});Fan one event out to known sockets. Do not broadcast secrets or tenant-specific data.
ipc.server.on('notice', data => {
ipc.server.broadcast('notice', data);
});Skip event framing for binary protocols or interoperability with non-Node peers.
ipc.config.rawBuffer = true;
ipc.config.encoding = 'utf8';
ipc.server.on('data', (buffer, socket) => {});Queue new client sends until the current request receives data from the server.
ipc.config.sync = true;
ipc.of.worker.emit('job', payload);