Virtual H89 CP/Net Socket Server

Client Side

This device implements a network client that makes a socket connection to a remote host, which must be running an instance of HostFileBdos or some other code that handles CP/Net messages.

Configuring this client requires specifying the remote host and TCP/IP port number to use. The port number is not terribly important aside from being not in-use and being the same on both client and server. Typically, each CP/Net server will have it's own, unique, port number assigned - which all connecting clients will use.

The client device is configured as follows:

cpnetserver##_host
The hostname for the server. "##" is the server ID as specified in the cpnetdevice_server## property. This parameter may also be specified in the first argument after "Socket" in the cpnetdevice_server## property.
cpnetserver##_port
The TCP/IP port number for the server. "##" is the server ID as specified in the cpnetdevice_server## property. This parameter may also be specified in the second argument after "Socket" in the cpnetdevice_server## property.

Note that a properties config file may have host/port definitions for many servers, even servers that are not currently used. In this way, a table of available servers may be kept.

Server Side

This server may be custom-implemented by the user, or the existing JAR file CpnetSocketServer.jar may be used for a HostFileBdos implementation. The following applies to CpnetSocketServer.

The properties configuration file ~/.cpnetrc (or alternate path specified in the CPNET_CONFIG environment variable) will be used for parameters. Additionally, parameters may be specified on the command line, which will override the properties file. The command line parameter "conf=" may also be used to specify the properties file.

Properties/parameters are:

cpnetserver_host
(or "host=") Select which hostname to bind to (listen for connections on). This should identify a local network interface. "localhost" may also be used.
cpnetserver_port
(or "port=") Select the TCP/IP port number to listen on. This port number must be used on any clients wishing to connect to this server.
cpnetserver_temp
(or "temp=") Select the CP/M temporary drive to use. This drive is only used by clients that ask for it, typically the CP/Net MAIL program. Use a letter, A through P. Default is "P".
cpnetserver_sid
(or "sid=") Specify the CP/Net server node ID to use. The clients must also know this ID. A hexadecimal number between 00 and FE. Must be unique within the "network" being used (i.e. there can be only one node in a CP/Net network with a given node ID).
cpnetserver_max
(or "max=") The maximum number of CP/Net clients that may be connected at the same time. A number between 1 and 16.
cpnetserver_root_dir
(or "dir=") The root directory to use for implementing CP/M disks. Default is ~/HostFileBdos. Same as for HostFileBdos.
cpnetserver_lst#
Where "#" is a hexadecimal digit (0-15). Setup LST: device 0-15. Same as for HostFileBdos.