| |
| META TOPICPARENT | name="WebHome" |
|
| | Overview |
|
< < | Project Darkchat is a multiuser networked server and graphical chat application where users move from room to room looking for interesting conversation with other users. The graphical client application is built on top of JavaFX while the back end server was built using Project Darkstar. Project Darkchat demonstrates the combining of JavaFX and Project Darkstar to build a compelling scalable multiuser application. Project Darkchat was demoed and made available to attendees at this year's JavaOne conference. |
> > | Project Darkchat is a multiuser visual chat environment where users move from room to room looking for interesting conversation with other users. The visual client application is built on top of JavaFX while the back end server was built using Project Darkstar. Project Darkchat demonstrates the combining of JavaFX and Project Darkstar to build a compelling scalable multiuser application. Project Darkchat was demoed and made available to attendees at this year's JavaOne conference. |
| | This project is currently under construction, so stay tuned for frequent updates.
Sources |
|
< < | Currently only the sources for the server, client libraries, and test clients are available in the repository, We are working on getting the graphical client sources up shortly. The server, client library, and test client sources are organized as Netbean 6.5.1 projects. The also use Maven for building. If you want to use Netbeans you will need to install the Maven Netbeans plugin. You can manage plugins from the Tools->Plugins menu in Netbeans. You will also need JDK 6. |
> > | Currently only the sources for the server, client libraries, and test clients are available in the repository, We are working on getting the visual client sources up shortly. The server, client library, and test client sources are organized as Netbean 6.5.1 projects. The also use Maven for building. If you want to use Netbeans you will need to install the Maven Netbeans plugin. You can manage plugins from the Tools->Plugins menu in Netbeans. You will also need JDK 6. |
| | |
|
< < | Please note that project page lists the liscense as Berkeley Software Distribution (BSD) License. However not all of the sources are under this license. Several of the source files used in the server were derived from source files in the Project Darkstar Server Core project which use GNU General Public License (GPL v. 2.0). The source files are those associated with the challenge-response protocol implemented for Project Darkchat and are the source files in the following packages in the darkchat-server project:
- com.sun.sgs.impl.protocol.challengeresponse
- com.sun.sgs.impl.auth
|
> > | Please note that project page lists the liscense as Berkeley Software Distribution (BSD) License. However not all of the sources are under this license. Several of the source files used in the server were derived from source files in the Project Darkstar Server Core project which use GNU General Public License (GPL v. 2.0). The source files are those associated with the challenge-response protocol implemented for Project Darkchat and are the source files in the following packages in the darkchat-server project:
-
com.sun.sgs.impl.protocol.challengeresponse
-
com.sun.sgs.impl.auth
|
| | It is possible to build and run the application without these sources by changing the server configuration properties and modifying the client source and class-path. Details are TBS. |
| | The server projects are:
|
|
< < |
- darkchat-server - server implementation classes
- darkchar-common - interface classes shared between the client and server
|
> > |
-
darkchat-server - server implementation classes
-
darkchat-common - interface classes shared between the client and server
In addition to the sources that implement the Darkchat application there is an implementation of a challenge-response login protocol and two new authenticators. The challenge-response login protocol replaces the simple-sgs-protocol and provides client password encryption. The new protocol is based on the simple-sgs-protocol and is defined in the darkchat-common project by the file:
com.sun.sgs.protocol.challengeresponse.ChallengeResponseProtocol.java
The protocol is implemented in the darkchat-server project by the classes in the com.sun.sgs.impl.protocol.challengeresponse packages. The protocol is installed in the server using Project Darkstar's pluggable protocol mechanism.
The new protocol requires an authenticator that handles the encoded password response. Two new authenticator implementation are provided, one uses a flat file to store username-password pairs, while the other uses an MySQL database. The implementations can be found in the darkchat-server project in the com.sun.sgs.impl.auth package. |
| | Client library sources
There are several client library projects. |
|
< < |
- darkchat-client-api - Java Darkchat client interface classes
- darkchat-simple-client - implementation of the client-api and the Darkchat protocol
- darkchat-cr-client-se - implementation of the client side challenge/response protocol for Java SE
|
> > |
-
darkchat-client-api - Java Darkchat client interface classes
-
darkchat-simple-client - implementation of the client-api and the Darkchat protocol
-
darkchat-cr-client-se - implementation of the client side challenge/response protocol for Java SE
|
| | |
|
< < | These provide isolation to the client application from the underlying IO layers. They also provide a layering so that some layers could be easily replaced. For example it should be possible to replace the darkchat-cr-client-se with the existing Project Darkstar Java Client or a new version that supports Java ME. |
> > | These provide isolation to the client application from the underlying IO layers. They also provide a layering so that some layers could be easily replaced. For example it should be possible to replace the darkchat-cr-client-se with the existing Project Darkstar Java Client or a new version that supports Java ME. |
| | Test client sources
There are two test client applications: |
|
< < |
- darkchat-cmdclient - command line client, used for testing and administration of the server
- darkchat-client-simulator - program to simulate client load
|
> > |
-
darkchat-cmdclient - command line client, used for testing and administration of the server
-
darkchat-client-simulator - program to simulate client load on the server
|
| |
| META TOPICPARENT | name="WebHome" |
|
| | Overview |
|
< < | Project Darkchat is a graphical chat application where users can move from room to room looking for interesting conversation with other users. |
> > | Project Darkchat is a multiuser networked server and graphical chat application where users move from room to room looking for interesting conversation with other users. The graphical client application is built on top of JavaFX while the back end server was built using Project Darkstar. Project Darkchat demonstrates the combining of JavaFX and Project Darkstar to build a compelling scalable multiuser application. Project Darkchat was demoed and made available to attendees at this year's JavaOne conference. |
| | This project is currently under construction, so stay tuned for frequent updates.
Sources |
|
< < | Currently only the sources for the server are available in the repository, We are working on getting the client sources up shortly. |
> > | Currently only the sources for the server, client libraries, and test clients are available in the repository, We are working on getting the graphical client sources up shortly. The server, client library, and test client sources are organized as Netbean 6.5.1 projects. The also use Maven for building. If you want to use Netbeans you will need to install the Maven Netbeans plugin. You can manage plugins from the Tools->Plugins menu in Netbeans. You will also need JDK 6.
Please note that project page lists the liscense as Berkeley Software Distribution (BSD) License. However not all of the sources are under this license. Several of the source files used in the server were derived from source files in the Project Darkstar Server Core project which use GNU General Public License (GPL v. 2.0). The source files are those associated with the challenge-response protocol implemented for Project Darkchat and are the source files in the following packages in the darkchat-server project:
- com.sun.sgs.impl.protocol.challengeresponse
- com.sun.sgs.impl.auth
It is possible to build and run the application without these sources by changing the server configuration properties and modifying the client source and class-path. Details are TBS. |
| | Server sources |
|
< < | The server sources are organized as Netbean 6.5.1 projects. The also use Maven for building. If you want to use Netbeans you will need to install the Maven Netbeans plugin. You can manages plugins from the Tools->Plugins menu in Netbeans. The projects are: |
> > | The server projects are: |
| |
- darkchat-server - server implementation classes
- darkchar-common - interface classes shared between the client and server
|
|
< < |
- darkchat-client-api - Java client interface classes
- darkchat-simple-client - implementation of the client-api and the darkchat protocol
- darkchat-cr-client-se - implementation of the client side challenge/response protocol
|
> > | Client library sources
There are several client library projects.
- darkchat-client-api - Java Darkchat client interface classes
- darkchat-simple-client - implementation of the client-api and the Darkchat protocol
- darkchat-cr-client-se - implementation of the client side challenge/response protocol for Java SE
These provide isolation to the client application from the underlying IO layers. They also provide a layering so that some layers could be easily replaced. For example it should be possible to replace the darkchat-cr-client-se with the existing Project Darkstar Java Client or a new version that supports Java ME.
Test client sources
There are two test client applications: |
| |
- darkchat-cmdclient - command line client, used for testing and administration of the server
- darkchat-client-simulator - program to simulate client load
|