Picoline is a web-based chat platform, designed to be hosted in a .NET environment. The design goals of the platform is simplicity, convention-over-configuration and performance.
The platform comprises a server and a client component, which communicates via a simple REST-based interface. All communication goes across HTTP, allowing clients to connect even through paranoid firewall setups.
The server component is implemented in managed C# as a Windows service. This service handles all of the data (users, messages) flowing through the chat, and features a light-weight HTTP server as its interface. The interface supports the following commands:
connect: authenticates a new user with the chat server, returning a secret string to be used in all following requests from the client disconnect: invalidates a secret message, effectively revoking access to future requests using this secret join: adds an authenticated user to the user list of a specified channel (think IRC), and allows the user to read and post messages from that channel leave: removes an authenticated user from the user list of a channel, and revokes the users right to read and post messages from that channel say: adds a specified message to a specified channel, if the user is allowed to post in this channel (is on the user list) On the client side, two implementations are included in the platform:
An easy-to-use, and easy-to-customize, JavaScript based chat frontend A .NET assembly, providing a simple API for sending commands to the server Both of the client components connects to the chat server using the HTTP interface. The server supports a simple, yet powerful, security scheme, where access can be restricted at command-level, using HTTP-headers to transfer the authentication tokens. Eg. this allows an application of the platform to allow "connect" and "join" commands only from the web application server, while messages can be posted directly from the clients.
Based on 0 user ratings.
Click to rate this project.
0 links submitted so far. Submit your own links.
chatserverpy, coriander-spokentext, Dream, Restlet, ThingFish