What I need is a dll that allows for peer to peer communication. This should even work behind a firewall. A central server should only possibly be required to get a list of available users. Then after that, all communication should be done without the server. The only information that would be used would be text information. This will be used for gaming applications. Should have these methods, properties, events
Additional information in the deliverables.
1. adduser (this would add a user to the list so when sending a broadcast message, it would be sent to all people on the list). Would not need to save the list, only used for the session only so more than 2 players can play at a time
2. removeuser (this would remove a user so if someone is hosting, then they can reject a user)
3. initiate (this would initiate so others can send them message) (to use for a game to update the game state).
4. sendbroadcastmessage (this would send a message to everyone on the userlist)
5. sendsinglemessage (the parameter would be user). This would send a message to that user only
1. dataarrival (the parameter would be the data that was received). Cannot be raised until all data for a request has been received
2. disconnected (if the host removed the player, then that event would be raised for the player that was rejected)
3. messagenotreceived (datasent, person).
if a message somehow does not reach the destination, then it should try a few times then raise the messagenotreceived event (maybe needs some properties to set that info).
4. personunavailable (if trying to send a message and they are not available, then this event should be raised)
Also, should be serialized (so they are received in the order sent). For example, if the following messages are sent
then on the receiving end, they should receive it in the same order. Also, need it so if they are processing a previous message and a new one comes in, then the event is not raised until the old one has been fully processed. I have a component that does that in case you need source code to see this (in C++). This can be done in any language as long as its callable from VB 6.0 and is COM enabled. Plus a sample chat application to show this working. Must work without requiring any configurations to the firewall at all (no matter whether its hardware based or software). Let me know if you have any questions.
The compiled dll and the source code to the dll. Also, a sample chat application to show this working properly.
Windows 98, Windows XP Home Edition.