Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A simple synchronous TCP library for Node.js
C++ Python
branch: master
Failed to load latest commit information.
.gitignore Add existing source code
LICENSE Initial commit
README.md Add content to the README file
binding.gyp Add existing source code
main.js
package.json
syncnet.cc Add existing source code

README.md

syncnet

A simple synchronous TCP library for Node.js. This is implemented as a native addon.

Note before proceeding that Node is designed to be an asynchronous environment, and if you want to use this module you should have a really good reason to do so.

Current Status

Currently only the client part is implemented, with the ability to open a connection to the server, read/write to the connection, and close the connection. The server part isn't implemented yet, as I can't think of a useful use case for it.

Origin

For example, this module is developed for the DiffBug project, in which it's used to synchronize between a client process and a server process. When the client needs to wait for an event to occur, it connects to the server using this module and blocks on a synchronous read(). The server only writes to the connection when the event occurs.

In most programs, this functionality can be implemented using the asynchronous net module as well, but DiffBug is an automated debugging tool: it needs to be able to pause at any point in the user's code by inserting a function call at that point. Therefore, only synchronous blocking can do the trick.

One simple way to achieve synchronous blocking in Node.js is to call readFileSync() on a Unix named pipe. However this isn't as flexible as using TCP and it doesn't work on Windows.

License

This piece of code is licensed under the MIT license.

Something went wrong with that request. Please try again.