选择显示字体大小

开发基于dcom的局域网聊天室(一)

  先行知识:delphi / 接口 / ole&com&dcom / win32
  
  首先祝大家新春快乐,猴年万事如意!
  
  在前面的几篇文章中我们已经探讨了不少基于微软com的相关技术,而分布式com(以下简称dcom)的出现给我们轻松的创建分布式应用提供了机会;我们可以完全不去理会低级别的windows sockets(dcom通过ms-rpc让客户与对象进行通信,幸运的是要开发com应用,开发者几乎可以不去理会ms-rpc)而开发出功能强大、偶合性低(功能模块相对独立,很好的发挥了oo的思想)、易于部署的分布式计算系统。
  
  在这次的文章中,我们就打算使用dcom来开发一个局域网聊天室,不仅是作为技术上的研究,实际上我相信这应该也是一个有用的工具。首先我们要对这个聊天室的功能有一个大致的了解:1、至少这个聊天室应该允许多个局域网用户进行聊天。(有点废话。。。)2、应该能够有多个话题的子聊天室,用户可以选择进入某个聊天室进行聊天。3、客户端应该尽量简单(不用配置dcom),并需要一个服务器端管理所有的交互行为,管理聊天室的数目和相关配置,并做好系统监测和日志记录等。4、对聊天室功能进行扩展(如悄悄话功能,表情符号等)。根据以上的功能描述,在仔细分析问题以后我们设计出下面的草图:
  
  这篇文章中我们要大致实现这个程序的一个基本的核心,包括ichatmanager、tchatroommanager、tchatroom,完成一个最基本功能的服务器端,并做一个简单的客户端进行检测。我们的重点是服务器端,因为它将实现聊天室的大部分功能,客户端只是一个十分小巧简单的程序。
  
  由于篇幅关系,我们只列出重要的部分的代码,完整的程序请给我发email。首先来看看我们的ichatmanager接口是什么样子(由于这里我们只实现了最基本的功能,这个接口并不完整,我们将在以后的文章中给出完整的声明):
  
   ichatmanager = interface(idispatch)
  
   ['{e7cd7f0d-447f-497a-8c7b-1d80e748b67f}']
  
   procedure speakto(const content: widestring; destid: integer); safecall;
  
   //客户向指定的房间说话,destid为房间号
  
   function readfrom(sourceid: integer): istrings; safecall;
  
   //客户从指定的房间读取谈话内容,sourceid为房间号
  
   function readready(id: integer): byte; safecall;
  
   //客户检测指定的房间是否已经可以读取谈话内容
  
   procedure connectroom(const username: widestring; roomid: integer); safecall;
  
   //客户登陆指定房间



 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons