In this project we would like to find out whether the same executable is running on some other computer which is connected to a network. If the application finds a replica of it running then they must get connected via sockets so that they can communicate with each other. If the application does not find the same application running on the network then it must opt the user to connect the client via a dial-up connection. Consider this to be similar to a chat program for within a network. The user logs in with a name and the application holds this name. When a user, A, wants to chat with someone on the network, say B, it searches for that name. The computer which is running the same program and on which B has logged in will respond the to request and then communication with them begins. There is no server to record logins. The application must detect the disconnection if it occurs or if the other user logs off. Communication must take place in streams by serialized objects.
Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Complete copyrights to all work purchased. ------------------------------------------- The complete code that is required to search the other application and the user, must be within a seperate DLL and should not contain any GUI in it. You must create the GUI in a seperate .Exe. The .Exe should only be used for the purpose of testing the code. The interface classes for the .DLL and the .Exe will be supplied to you and you are required to build the concrete classes. The code will not throw any exceptions and the .DLL will NOT contain any GUI (not even a MessageBox) in it. Instead it will report errors to the caller (the .Exe) with the help of enums and use ASSERT(). The code must contain detailed comments describing the purpose and the logic of the code, at function level. Standard naming conventions must be used so that the code is maintainable. No COM objects or third party libraries. 100% of code should by available.
Win 9x, Win 2000, Win32, VC++ 6, with MFC