[发明专利]一种网守系统设计方法在审
申请号: | 201410033463.8 | 申请日: | 2014-01-24 |
公开(公告)号: | CN103780479A | 公开(公告)日: | 2014-05-07 |
发明(设计)人: | 江明华 | 申请(专利权)人: | 重庆电子工程职业学院 |
主分类号: | H04L12/66 | 分类号: | H04L12/66;H04L29/06 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 401331 重*** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 系统 设计 方法 | ||
1.一种网守系统设计方法,其特征在于,所述的网守系统设计方法,首先是客户端的约定,每客户端都有自己的ID号,每个客户端的ID号都不同,每个客户的UDP的本地端口号固定其唯一表达式为7000+ID,端口号与ID号共同为用户识别特征;客户端在进行网络应用时首先应向网守发送自己的ID以便网守更新IP数据库用以方便其他客户端获得自己的IP地址使被叫通讯得以进行;想获得ID为n的客户端的IP就发n到网守,网守找到对应的IP就回复IP,没有就回复0;网守端初始化好后进入被动状态,当收到客户端所发的ID后,判断ID用户是不是该用户的ID(ID等于Remote Port);如果是则更新IP数据库;如果不是,则在检索IP数据库中搜索该ID所对应的IP;找到就把该IP回复给客户端;找不到就回复0;然后再次进入被动状态直到受到下一个客户端所发的ID。
2.如权利要求1所述的网守系统设计方法,其特征在于,具体步骤如下:
步骤一,用Microsoft Office Access创建Access数据库并命名为db1.MOD在该数据库中用表向导生成IP data表,并在表中加入ID,IP两个字段并把ID字段设为主键字段,把ID字段的数据类型设定为数字,字段大小设定为5,必添字段属性设为“是”,索引属性设为“有”;把IP字段的数据类型设定为“文本”,字段大小设定为“20”,必添字段属性设为“是”,索引属性设为“无”;
步骤二,进入Visual Basic6.0后激活菜单“文件/新建工程”在对话框中选择“创建普通应用程序控制”由于要使用数据访问对象DAO访问和操作数据库所以要在Visual Basic的工程里面引入DAO3.6Object Library;其具体操作为激活菜单“工程/引用”在对话框中找到Microsoft DAO3.6Object Library,选中后点确定;
步骤三,激活菜单“工程/添加模块”,在对话框中选取“新建”系统会自动命名为Module1双击它进入Code窗口加入以下代码:
Option Explicit
Public db As Database
Public rs2As RecordSet
代码说明:Option Expkicit为强制Visual Basic变量定义,即关闭VB的变量不经定义也能使用的功能,在模块中定义的变量相当于c语言里的全局变量,在主程序的所有子过程,函数中都可用;
步骤四,在form窗体上添加一个Winsock控件系统会自动命名为Winsock1.在form的Code窗口中写入以下代码
代码说明App.Path对象返回当前运行程序所在的路径名,db为DAO数据库对象变量OpenDatabase方法是打开数据库并返回Database对象,该语句中有两个False,前者是将除外性关闭,即如许多个使用者使用数据库;后者是将只读性关闭,即数据库可读可写;随后的几条语句是初始化Winsock控件,通讯协议用UDP协议,绑定本地8100端口;
整个程序是靠Data Arrival事件来驱动,程序的核心是Data Arrival事件响应程序
''说明当DataArrial发生后通常用Getdata方法从缓存中读出数据
''使用UDP协议时DataArrival发生时对方的LocalPort被复制给RemotePort,对方的IP也同样的付给了
RomoteIP。
a=Winsock.RemotePort
If s=(a-8100)Then
''说明:按照约定ID与端口号共同为用户特征,端口号和ID满足约定公式那么用户所发ID为该用户自己的.如果不满足则该ID为对方用户的ID
b=Winsock.RemoteHostIP
Set rs2=db.OpenRecordset(SELECT ipdata.*FROM ipdata WHERE ID=+CStr(s))
''说明∶DAO的OpengRecordset方法返回的是一个Recordset对象;该方法支持Microsoft Jet SQL语言SELECT ipdata.*FROM ipdata WHERE ID=s为SQL查询语句,意思是从ipdata表中查询出ID=s的所有记录.如果没找到Recordset对象的.RecordCount属性等于0;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆电子工程职业学院,未经重庆电子工程职业学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410033463.8/1.html,转载请声明来源钻瓜专利网。