PDM/PLM/CAPP |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
一种在PDM中使用的邮件系统 |
|
作者:张义智 田永红 |
|
摘要:本文介绍了一种在PDM(Product Data Management )中使用的邮件系统,并对邮件系统的运行环境、通信控件、协议等关键技术进行了探讨,最后对服务器和客户机程序的开发流程进行了说明。
关键词:PDM,E-mail,TCP/IP,Socket,port,协议
前言
微机的应用现已深入到社会的各个领域,90年代微机应用已逐步向多用户发展,多用户的处理使得信息得到更高的利用率。随着计算机网络的发展,90年代开始就进入了网络时代。当一个企业完全网络化后,E-mail(Electronic Mail)则是网络服务所必须提供的基本功能,也是被使用得最多的必要服务。E-mail是一种通过计算机联网与其他用户进行联络的快速、简便、高效、廉价的现代化通讯手段。目前,E-mail不仅正在取代企业内部各个办公室之间的备忘录,而且成为企业内部无纸化办公必不可少的手段之一,Internet上的E-mail也使得与所有员工随时通信成为可能,即使这些员工是在远程场地。另外,使用E-mail为与其他客户之间的联络(特别是与国外的客户联络)提供了一个快速、简便、高效的通道。
建立一套实用电子邮件服务现已成为许多政府部门、机关和企业的当务之急,下面介绍一种常用的E-mail架构。
1 系统中基于LAN的E-mail架构
一般来说,在一个公司的局域网上使用的E-mail系统大都架设在文件服务器(FileServer)上,包括使用者要存放、收发资料的信箱系统都统一位于File Server上,他们的用户端(Client)主要是读信与写信,至于信件的管理、送信等工作都是在FileServer上由邮件服务器来处理。在该情况下的架构如图1所示:这种E-Mail系统架构实用于一个小的企业内使用,他们的使用部门和使用者都集中在一起,只要在局域网上建立一个Mail Server即可。
PDM系统是一个跨平台的广义数据库系统,其中一个主要特点就是数据或企业内部信息能够在各个部门间流通,而传统的PDM系统一般基于C/S模型,服务器通常用来进行用户的身份验证或进行网络数据库的配置,这样就可以借助这样的模型来建立其邮件系统。
本文介绍一种内嵌于PDM系统的邮件系统,它利用TCP/IP协议组,利用VB控件Winsock可完成邮件的发送。系统可分为服务器和客户端两个模块,服务器端负责信件的接收、存储和接收状态的反馈,客户端负责信件的发送和读取。
图1 基于LAN的E-Mail系统架构(单邮件服务器) 2 通信控件及协议简介
Socket是通过网络与其它应用连接的一种工具,Tcp Socket使用TCP/IP协议,它继承了传输协议的行为,创建一个TCP Socket需要四部分的信息:
1) 本地系统的IP地址
2) 本地应用程序要使用TCP的端口号(Port)
3) 远程系统的IP地址
4) 远程系统应用程序要使用的端口号
由于Socket是表示一个连接的双向端点,它是一种抽象,所以通过Socket既可以发顺数据又可以接收数据。本系统在完成一个通信路径需要用到两个嵌套字,使用客户机/服务器模型来建立连接,服务器应用程序在系统一个指定的端口上(使用一个IP地址标识)“听”客户机从任何可以启动的端口中启动连接,并设法与服务器连接(使用IP和Port)。一旦建立了连接,客户机和服务器就可以根据自己的协议交换数据。在基于嵌套字的数据交换中,事件的顺序取决于传输是面向连接的还是无连接的。在本系统中使用了面向连接的传输,下图给出了传输的事件的典型顺序,在建立了一个连接后即可进行数据传输。
图2 嵌套字的面向连接数据传输 邮件系统的开发流程:
利用上面介绍的通信理论,我们可以很方便的实现“客户机/服务器”方式的通信以达到邮件传输的目的,具体实现其通信协议有以下几个步骤:
1)初始化服务器,设立其端口和IP地址,等待客户机的连接请求
2)初始化客户机,向服务器发出连接请求
3)客户机发出请求
4)服务器做出响应
5)服务器返回处理结果
6)客户机接收服务器的处理结果
3 服务器端程序的运行流程
初始化数据对象和构造用户界面;
创建用于侦听的服务器本地端口;
IF(监听线程对象==Null)
{
启动监听线程;
}
If(监听线程启动)
{
监听连接请求;
if(有连接请求)
{接受连接请求;
if(连接成功)
{接收客户机的数据并显示邮件信息;
接收数据后放入数据库;
}
else:显示发送失败信息;
}
}
4 客户端程序的流程
初始化数据对象和构造用户界面;
创建用于接收数据的客户端端口和地址;
IF(显示网络连接正常信息)
{
向服务器发送或查收信件;
}
else(显示连接失败信息)
{
重新建立连接;
﹜
5 服务器端接收数据的处理
首先定义数据源(DataSource),通过服务器端Winsock接收到的数据放入(DataSource),定义变量Sender、Recver、Subject、Content并将其绑定到数据源(DataSource),定义处理数据函数(Dodata)为Boolean型,如为真,则向客户端反馈信息“发送成功”,反之“发送失败”。处理数据函数的功能是使用ADO技术将数据源的信息放入数据库中,其步骤如下:
1)定义Connection、Command对象,并将Dodata函数设为真
2)创建Connection对象,并使用Connection对象的ConnectionString属性来指明数据来源的信息,如数据源名、用户名、密码。
3) 建Command对象,并使用CommandText属性来指定SQL表达式Insert Into子句 即Insert Into目标数据表名称(目标字段名称1,字段名称2,⋯)
SQL表达式的执行是通过Command对象的Execute方法来实现的。
这样,就可将客户机传来的邮件信息按字段分别存储到服务器上的邮件数据库中,至于服务器向客户机提供邮件信息时,同样的道理,只要另外定义处理数据函数,并将Command对象的CommandText属性指定的SQL表达式改为:“Select* from 邮件数据库数据表 where 查找条件”即可。
6 客户端接收和发送数据
客户端在Winsock_DataArrival过程中,使用GetData函数将从服务器接收到的数据赋给变量Sdata,然后再定义具体字段sender、recver、subject、content,这样就可在各字段对应的文本框中显示对应的邮件信息。客户检查是否有自己的信件相当于使用ADO技术查询服务器数据库,如有信件,则会在信件列表文本框中显示出来,并通过Winsock控件向服务器发送读取信件信息,服务器通过前面所述方法处理该信息后将信件信息返回到客户机,以完成此次信件查收。
7 结论
在本文中我们主要讲述了一种利用VB中的控件Winsock使用TCP/IP进行通信,并基于服务器数据库进行邮件信息存储的一种简易邮件系统。由于这种系统配置较简单,而且不需配置SMTP和POP3邮件服务程序,故这种系统在PDM系统中是一种简易、方便、使用的邮件系统。
参考文献
[1] PDM及其实施。高奇微、莫欣农 编著。 机械工业出版社,1998年
[2] 洪守德、电子邮件、RUN! PC,1997;(36):36-40
[3] Goldman J E.Local area network: client/server approach.John Wiley &Sons Inc.,1997:192-208(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(2/26/2005) |
对 PDM/PLM/CAPP 有何见解?请到 PDM/PLM/CAPP论坛 畅所欲言吧!
|