This article implements a simple multi-threaded client/server instant Messaging application that will use a TCP connection. Allows personal messages to communicate with meetings between customers and between customers and servers. The ultimate goal is to implement instant messaging tools such as Yahoo/msn.
Library
I create a chatlibrary that contains commands and messages that can be shaded.public enum Command
{
Login = 0,
Personalmessage = 1,
Clientlist = 2,
conference = 3,
Logout = 4
};
public class Message
{
String Strsender;
String Strreceiver;
Command Cmdmessagecommand;
String Strmessagedetail;
Public message ()
{
}
Public message (Byte [] rawmessage)
{
String strrawstringmessage = System.Text.Encoding.ASCII.GetString (rawmessage);
string [] Strrawstringmessagearray = strrawstringmessage.split (new char []{' | '});
This.strsender = strrawstringmessagearray[1];
This.strreceiver = strrawstringmessagearray[2];
This.cmdmessagecommand = (Command) convert.toint32 (strrawstringmessagearray[3]);
This. Messagedetail = strrawstringmessagearray[4];
}
...
public byte [] getrawmessage ()
{
System.Text.StringBuilder sbmessage = new System.Text.StringBuilder ("John");
Sbmessage.append ("|");
Sbmessage.append (Strsender);
Sbmessage.append ("|");
Sbmessage.append (Strreceiver);
Sbmessage.append ("|");
Sbmessage.append ((int) cmdmessagecommand);
Sbmessage.append ("|");
Sbmessage.append (Strmessagedetail);
Sbmessage.append ("|");
Return System.Text.Encoding.ASCII.GetBytes (Sbmessage.tostring ());
}
...