局域网及时通讯系统设计与实现
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.2程序开发的主要思想
1、程序构思及部分说明
(1).实验原理:
传输数据时,先给数据前添加前缀,确定数据类型及作用,从而区分文件数据,聊天数据和控制数据.
文件传输时用3度握手建立连接后,再开始传送数据,具体流程如下: 【www.think58.com计算机毕业论文网】 think58.com
在打开光驱,还有关机等远程控制动作中引用API函数,发送前缀为ControlMSG的信息,触发远程客户端的函数,从而达到控制的目的. [来源:http://think58.com]
(2).主要模块设计思路:
本文来自think58
[来源:http://think58.com]
[资料来源:www.THINK58.com]文件传输:
ⅰ. 与服务器进行文件传输时,在发送数据前,先进行3度握手,收发双方确认文件信息,建立文件传输通道.在传输的过程中,先将文件数据读取到缓冲区中,记录当前文件读取位置,待下次读取时使用.当发送完成后,启动发送完成事件,停止发送,初始化各参数,并提示发送成功。示意图如上图.
本文来自think58 [来源:http://think58.com]
[来源:http://think58.com]ⅱ. 客户端与客户端之间进行文件传输时,在进行3度握手之前,先获得目的用户的ip以及端口号.这个步骤通过服务器进行数据库查询后得到.
聊天功能: 在发送聊天信息前,先在信息前加上 MessageMSG前缀,当接收方接到后,启动聊天信息事件,存储聊天信息,并显示在text 文本框中。
如果是客户端之间通信的话,在信息前加 SpreadMSG 前缀,当服务器接收后,通过后面紧跟的目的号码查询数据库,从而得到目的号码与服务器连接所用的Winsock控件的控件号,然后通过该控件来进行聊天信息的转发。
远程控制: 发送控制信息前,在信息前加上 ControlMSG 前缀,当接收方接到后,启动接收方的API函数,从而达到远程控制的目的。
调用API函数需要先声明,而后才可以调用。 think58好,好think58 [资料来源:THINK58.com]
号码管理: 在号码管理中可以实现号码注册,在线用户,以及所有注册号码的管理。
ⅰ.号码注册: 客户端发送注册信息到服务器,服务器通过查询数据库,若该号码未被注册则把注册信息添加到数据库,并提示客户端注册成功.
ⅱ.在线用户管理: 踢出用户,输入要踢出用户的号码,查询数据库,得到该用户与服务器通信的控件号,关闭该连接,并在数据库中删除该表项,达到踢出用户的目的.
ⅲ.注册号码管理: 在这里可以实现号码的增加和删除,找到要增加和删除的表项,再实施操作.
第2章 基于局域网的通信系统模块分析 think58.com
[资料来源:www.THINK58.com]
2.1建立连接
使用vb的Winsock控件可以比较容易的实现两台机子的连接问题,在服务器端先使用Listen方法进入侦听状态,等待客户端连接.下面是本程序中用到的Winsock控件属性和方法.
Winsock控件建立在TCP、UDP协议的基础上,完成与远程计算机的通信。即使对TCP/IP不太熟悉的用户,使用该控件也可以在十几分钟内创建一个简单的客户机/服务器程序。下面我们对Winsock控件的事件、方法、属性按其在程序中出现的顺序分别作详细的介绍,以便更好地理解程序源代码。
服务器程序的实现过程是:
(1)服务器程序必须设置好LocalPort属性,作为侦听端口,该值为一个整数(只要是一个其它TCP/IP应用程序没有使用过的值即可)。
(2)使用Listen方法进入侦听状态,等待客户机程序的连接请求。
think58好,好think58