[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[gopher] White Mesa node-gopher server 0.1.0 released


'node-gopher' is an RFC 1436 gopher server implemented as a node.js app including a CGI facility, logging in Common Log format with rotation, gophermap support, and more. It runs on Linux and Windows. Of course node.js must be installed on the host. Here are links to a README file and the source tarball:


or better yet, get them from the main menu of a running instance of node-gopher:


or the original White Mesa 'Purple Sage' gopher server


Stress testing with Apache JMeter indicates that performance is very robust. Compared to my multi-threaded reference server (written in C++, running as a Windows service) the node server, running on the same host, is as fast or faster handling file transfers (large or small) under heavy load. However, it's not as fast processing gophermaps or directory listings (by a factor of 3). Maybe my _javascript_ code for these processing tasks needs refinement. Python script based dynamic content works just fine using the node.js facilities to implement CGI (look on the main menu of the White Mesa gopher server at port 7070 for current 'space weather' info delivered this way). I also notice that the node.js server generally uses a lot more memory than the native C++ service.

Anyway, what started out as a node.js prototype service project took on a life of its own and I thought I'd put the source out there in case someone can make use of it. The server is easy to set up on Windows or Linux; just unpack the tarball, tweak the config file as needed, open a terminal window and invoke node: 'node server.js'.The README covers basic features and config file stuff and details can be studied by inspecting the source code. I'm no node.js expert so I'm sure there is room for improvement. The structure of a node.js application may seem strange at first, with its event driven, non blocking I/O model. You can read more at nodejs.org.

Comments and bug reports are welcome.


Bob NW8L
Gopher-Project mailing list

Reply to: