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

Re: [gopher] White Mesa node-gopher server 0.1.0 released

On 2014-02-01 18:43, Bob Cunnings wrote:

'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:

http://www.whitemesa.net/node-gopher/README.txt [1]
http://www.whitemesa.net/node-gopher/node-gopher-0.1.0.tgz [2]

or better yet, get them from the main menu of a running instance of

gopher://whitemesa.net:7070/ [3]

 or the original White Mesa 'Purple Sage' gopher server

gopher://whitemesa.net/ [4]

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 [5].

Comments and bug reports are welcome.


Bob NW8L

[1] http://www.whitemesa.net/node-gopher/README.txt
[2] http://www.whitemesa.net/node-gopher/node-gopher-0.1.0.tgz
[3] http://whitemesa.net:7070/
[4] http://whitemesa.net/
[5] http://nodejs.org

excellent, tvm for sharing.
Delfi Ramirez
twitter: delfinramirez
IRC: segonquart
Skype: segonquart


Gopher-Project mailing list

Reply to: