论文部分内容阅读
中间件是位于硬件、操作系统平台和应用程序之间的通用服务系统,具有标准的程序接口和协议,可实现不同硬件和操作系统平台上的数据共享和应用互操作。之前有不少是基于COM/DCOM的异步或者同步消息中间件,本文重点研究了基于CORBA的异步消息中间件,利用CORBA技术开发了一个异步消息中间件,实现了客户间的通信。 首先,利用Delphi6建立一个工程,实现服务器功能,接着建立一个实现客户端访问的工程。在服务器端和客户端编写基本的调用方法,客户端通过调用服务器端的方法进行消息的发送与接收。 接着,在服务器端定义一个消息队列,该消息队列是根据FIFO的原则进行操作的。并且用户都有其全局唯一的ID。当客户端之间发送消息时,服务器端首先接收到消息发送者发送的消息,然后把它们存储在消息队列中,消息队列中存储的不但有消息内容,还有消息发送者与接收者的ID号,等待消息接收者的接收请求。当消息接收者登录客户端向服务器发送接收请求后,消息队列根据消息接收者的ID号在消息队列中进行搜索,如果有该用户的消息,从消息队列中取出并发送回客户端。 最后,在消息队列中实现了一个重新排列消息队列的算法。当消息接收者接收完消息后,消息队列要把已经取出的消息进行删除,然后重新排列消息队列,以便满足FIFO原则。在消息队列重排算法中,当消息取出后,每取出的两条消息之间的消息前移,把驻留在消息队列中的消息分段进行前移,每移动一次,后面移动的消息前移的位数增加一位。 通过以上的工程建立,算法实现,就可以实现用户间的异步通信。消息发送时,用户和服务器之间实现同步通信,以便于查看,消息是否发送到了服务器端。