Home arrow Delphi-Kylix arrow Page 3 - Sever Side Chat Application with Borland Delphi/Indy
DELPHI-KYLIX

Sever Side Chat Application with Borland Delphi/Indy


This article will get you started on building a chat application based on the client/server model. It will be able to handle all of the basics found in chat applications like Microsoft Messenger and others.

Author Info:
By: Jacques Noah
Rating: 4 stars4 stars4 stars4 stars4 stars / 18
December 26, 2005
TABLE OF CONTENTS:
  1. · Sever Side Chat Application with Borland Delphi/Indy
  2. · The Code
  3. · Receiving messages: listnames, all, takeshot, name, file
  4. · Handling Commands: Listnames, all, takeshot
  5. · Handling commands: name, file

print this article
SEARCH DEVARTICLES

TOOLS YOU CAN USE

advertisement
Sever Side Chat Application with Borland Delphi/Indy - Receiving messages: listnames, all, takeshot, name, file
(Page 3 of 5 )

When a client sends a message it will be received (by the server) in this form: from@msg:to

from: represents the name of the client who sends the message
msg: represents the actual message or command
to: represents the name of the sender

When the server receives this message it will need to break it down into three parts to make sense of it. Put this function anywhere in the implementation section. 

The following code makes this possible:

function ParseString(s : string; var str1,str2,str3: string) :
boolean;
var
   P1,P2 : integer;
begin
   P1 := Pos('@',s);
   P2 := Pos(';',s);
   //Test if both delimiters are present, in the right order and
   //at least 1 char apart
   if ((P1 > 0) and (P2 > 0) and (P2 > P1) and (Abs(P2-P1) > 1))
     then begin
            str1 := Copy(s,1,P1-1);
            str2 := Copy(s,P1+1,P2-P1-1);
            str3 := Copy(s,P2+1,Length(s)-P2);
            Result := True; //valid string
          end
     else Result := False; //invalid string
end;

All that this function does is take in a string - s : string – and break it down into three parts, based on two delimiters which are - @ AND : - So, if I send a message saying ‘hello mate’, the server will receive: fromme@hello mate:toyou. The parsestring function will take that message and break it down into sender, message, recipient. 


blog comments powered by Disqus
DELPHI-KYLIX ARTICLES

- Loading an XML Document into the DOM
- Delphi Wrapper Classes and XML
- Delphi and the DOM
- Delphi and XML
- Internet Access: Client Service
- Finishing the Client for an Internet Access ...
- The Client for an Internet Access Control Ap...
- User Management for an Internet Access Contr...
- Important Procedures for an Internet Access ...
- Server Code for an Internet Access Control A...
- Constructing the Interface for an Internet A...
- Building a Server Application for an Interne...
- Building an Internet Access Control Applicat...
- Client Dataset: Working with Data Packets an...
- Using the Client Dataset in an N-Tiered Appl...

Dev Articles Forums 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Weekly Newsletter
 
Developer Updates  
Free Website Content 
Contact Us 
Site Map 
Privacy Policy 
Support 



© 2003-2012 by Developer Shed. All rights reserved. DS Cluster 4 - Follow our Sitemap
Popular Web Development Topics
All Web Development Tutorials