Stromchat Extendable, Modable, Multifunction Peer-to-Peer Chat Server/Client
Goals and Objectives To build a chat server and client small enough and user friendly enough to be run by casual users. Simultaneously, to design the server and client in such a way as to allow maximum extendability by power users: –Plug-ins –Skins –Scripting (PHP)
Technical Approach Server application is multithreaded: –Two listen threads Chat clients HTTP clients –Separate thread for each client (up to maxclients) Server uses traditional Berkeley sockets Client uses asynchronous sockets Both server and client extendable through plug-ins –Implemented as DLLs
Platform Runs on Windows XP Win32 C++ PHP (for scripting)
Status Design is 90% complete Server: –Accepting chat clients –Accepting HTTP clients –Interfacing with PHP-CLI to handle PHP scripting in HTTP server Client: –Very basic client
Screenshots
Plug-ins Server –Inspired by the Steinberg VST plug-in specification Modifying buffer data supplied by host application –Callback function allows broadcast messages Client –Same as server, but run on client Client-Server –Not yet designed. Allow interaction between client plugins and server plugins.