优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

实验室计算机IP地址自动设置程序—--服务器端的设计与实现

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:
摘? 要 IP地址的分配和管理是实验室管理员比较重视的一个问题,而大部分管理员都采用的是DHCP技术来实现,虽然DHCP技术可以为用户接入网络提供方便,但还存在一些弊端,例如:IP地址具有随机性,用户的IP地址是随机分配的,具有不确定性等等。本系统的主要功能就是实现对实验室计算机IP地址的静态分配,从而解决DHCP技术的一些缺陷。主要实现方法为:对有请求的客户端的网卡地址和分配给其的IP地址进行记录,通过网卡地址来标识某一具体主机,当其再有请求到达时,分配给其已经记录的IP地址,以实现分配给客户端固定IP地址的功能。若要手工实现对客户端IP地址的静态分配,可直接在数据库中根据网卡地址修改对应的IP地址即可。IP地址的设置由客户端实现。程序的开发工具为VC++6.0,连接数据库方式为ADO方式,为了优化系统性能和使客户端的请求不阻塞,采用了多线程技术。 关键词:ADO;多线程;网络广播;网络编程 系统结构设计 系统的主要功能需求为:配置分配的IP地址范围,接收客户端的请求,处理请求为客户端分配IP地址,将应答信息发送给客户端。 根据系统需求可以将系统划分为以下主要模块。 模块名称:配置系统信息 功能描述:配置服务器为客户端分配的IP地址范围,服务器保留的IP地址,网关,子网掩码等信息。 实现方式: 服务器并不是每次启动都需要配置IP信息,配置模块在单独的进程中实现。有对话框界面进行人机交互,将配置信息保存到系统盘的Windows目录下的一个配置文件中,主程序运行时从配置文件中读取配置信息。 模块名称:接收请求 功能描述:接收网络发送来的请求包,验证请求包的正确性和完整性,并将请求信息保存。 实现方式: 功能在单独的线程中实现。虽然客户端与服务器物理上在一个局域网内,但并不能保证逻辑上在一个网段内,所以客户端不知道服务器所在。为了使客户端发出的请求服务器能够正确接收,客户端采用数据链路层广播的方式发送请求。收到客户端请求后,通过验证包头信息判断请求包的正确性,将请求信息写入请求队列,没有请求到达线程在接收请求处阻塞。网络请求的接收采用Windows套接字编程实现。互斥资源的访问采用信号量机制。 模块名称:处理请求 功能描述:从请求队列中读取请求信息,根据请求信息为客户端分配IP地址,将应答信息写入发送队列。 实现方式:功能在单独的线程中实现。从配置文件中读取配置信息,判断管理员是否重新配置过,如果重新配置过则清空数据库记录。从请求队列中读取请求信息,判断是一次请求还是二次请求。一次请求,从数据库中根据网卡地址查找分配给其的IP地址,找到则把分配的IP地址写入发送队列,找不到则将最小的IP地址分配给其并写入数据库和发送队列,最小IP地址向上递增。二次请求,将最大IP地址分配给其但不写入数据库,写入发送队列,最大IP地址递减。互斥资源的访问采用信号量机制。 模块名称:发送应答 功能描述:从发送队列中读取应答信息,将子网掩码,网关等信息封装为应答包,发送给客户端。 实现方式:功能在单独的线程中实现。从配置文件中读取分配的子网掩码和网关。从发送队列中读取客户端的IP地址和分配给其的IP地址。因为不确定客户端和服务器是否在同一网段,所以还是采用广播的方式发送应答信息包。将子网掩码和网关封装进应答包以广播的形式发送出去。网络应答的发送采用Windows套接字编程实现,互斥资源的访问采用信号量机制。