What is VNet ?VNet is a message-based virtual network written in Java. The VNet server works like a central switch in a star-shaped network. VNet clients connect to the server in order to participate on the network.How is it distributed ?The VNet library is a jar file containing the following 3 Java packages:
VNet ArchitectureA VNet system consists of a single VNet server and several VNet clients. The VNet server and the VNet clients form a star-shaped network. All clients connected to the server can see each other and exchange messages via the server; they form a virtual network (and hence the name VNet). The main tasks of the server are to let the clients know who is currently on the network and to route messages sent from one client to another. The server also supports proxy connections between clients. It is important to note that a VNet client may act as a server for other VNet clients. This means that we do not really need the VNet server to contain any special purpose code. On the other hand, extending the VNet server itself may give better overall performance. The VNet server is designed as a set of embedded servers; Adding new servers is easy :) Running the VNet serverThe VNet library contains classes that may be used to create VNet client applications. It also contains all classes needed to run a VNet server, but since it is trying to keep its pureness as a library it does not contain any executable classes. You therefore need a wrapper program in order to run the VNet server. This wrapper program may be written in Java, or it may be written in C++, using the Java Nativa Interface to control the server. This enables cool stuff like running the VNet server as a service under NT (yes, I have tried it; it worked). The server wrapper program uses the amega.org.vnet.ServerControl object to control the operation of the VNet server. If you make your own server components, just let the wrapper program register them with the ServerControl object on startup. Since you probably don't want to waste time writing your own customized wrapper program just yet you may download a simple wrapper written in Java. You may find it in the download section a little further down this page. Licence TermsThe software downloadable on this page is freeware. You may use and re-distribute it as you wish, but you may not take credit for it. Any distribution of this software or software based on this software should give credit to the author: 'Venger [venger@agurk.net]'. I do not take any responsibility for any damage you manage to cause while using this software etc. etc.DocumentationJavadoc documentation for the VNet library may be found here [no frames]. DownloadCompiled Code
Source Code (because I'm such a nice guy ;)FeedbackComments, ideas, questions or your general opinion about VNet may be sent to venger@agurk.net. |