CN103780479A - 一种网守系统设计方法 - Google Patents

一种网守系统设计方法 Download PDF

Info

Publication number
CN103780479A
CN103780479A CN201410033463.8A CN201410033463A CN103780479A CN 103780479 A CN103780479 A CN 103780479A CN 201410033463 A CN201410033463 A CN 201410033463A CN 103780479 A CN103780479 A CN 103780479A
Authority
CN
China
Prior art keywords
client
gatekeeper
database
user
udp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410033463.8A
Other languages
English (en)
Inventor
江明华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing College of Electronic Engineering
Original Assignee
Chongqing College of Electronic Engineering
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing College of Electronic Engineering filed Critical Chongqing College of Electronic Engineering
Priority to CN201410033463.8A priority Critical patent/CN103780479A/zh
Publication of CN103780479A publication Critical patent/CN103780479A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种网守系统设计方法,该网守系统设计方法首先是客户端的约定,每客户端都有自己的ID号,每个客户端的ID号都不同,每个客户的UDP的本地端口号固定其唯一表达式为7000+ID,端口号与ID号共同为用户识别特征。客户端在进行网络应用时首先应向网守发送自己的ID以便网守更新IP数据库用以方便其他客户端获得自己的IP地址使被叫通讯得以进行。想获得ID为n的客户端的IP就发n到网守,网守找到对应的IP就回复IP,没有就回复0。本网守程序使用的是UDP协议,只要客户端能用UDP协议收发数据,能修改UDP端口号,就可以利用网守与其它与网守有联系的客户端。

Description

一种网守系统设计方法
技术领域
本发明网络通讯技术领域,特别是涉及一种网守系统设计方法。
背景技术
目前,TCP/IP是当今应用最广泛的互联网协议,而IP地址是TCP/IP通信协议用来辨识每一系统的网络地址,Internet网络上的每一台主机都分配有一个这样的在全世界范围是唯一的32bit的标识符,就像每一个家有不同地址、每一个手机有不同的号码一样,这样才能知道传输的信号要传输给谁。
在实际通讯中,往往由于不知道对方的IP地址而“联系不上”。网守不失为解决这一难题的较为理想的方案,但是适合单片机通讯的网守暂时还没有。目前市面上开发的相关软件有很有多像“腾讯QQ”,微软MSN”,“网易泡泡”等即时通讯工具,应用的非常广范。而且更新迅速,功能强大,产品日益成熟…但是,它们都要有自己的客户端,还要登陆指定的服务器。而在连接不到服务器的地方(如局域网)也就一无是处。最重要的是客户端必须是PC机,同时还要有Windows,Unix等操作系统的支持,对一些能够用TCP/IP协议通讯的非PC终端(如单片机)来说就毫无价值。
发明内容
本发明的目的在于提供一种网守系统设计方法,旨在解决单片机通能过计算机网络传递数据时不知道IP地址而无法实现信号传输的问题。
本发明是这样实现的,一种网守系统设计方法,首先是客户端的约定,每客户端都有自己的ID号,每个客户端的ID号都不同(0<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。
具体软件设计步骤如下:
步骤一,用Microsoft Office Access创建Access数据库并命名为db1.MOD在该数据库中用表向导生成IP data表。并在表中加入ID,IP两个字段并把ID字段设为主键字段。把ID字段的数据类型设定为数字,字段大小设定为5,必添字段属性设为“是”,索引属性设为“有”(无重复);把IP字段的数据类型设定为“文本”,字段大小设定为“20”,必添字段属性设为“是”,索引属性设为“无”(可以重复)。
步骤二,进入Visual Basic6.0后激活菜单“文件/新建工程”在对话框中选择“创建普通应用程序控制(企业版)”由于要使用数据访问对象DAO(DataAccess Object)访问和操作数据库所以要在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窗口中写入以下代码
Figure BDA0000461343980000031
代码说明App.Path对象返回当前运行程序所在的路径名,db为DAO数据库对象变量OpenDatabase方法是打开数据库并返回Database对象。该语句中有两个False,前者是将除外性关闭,即如许多个使用者使用数据库;后者是将只读性关闭,即数据库可读可写。随后的几条语句是初始化Winsock控件,通讯协议用UDP协议,绑定本地8100端口。
整个程序是靠Data Arrival事件来驱动,程序的核心是Data Arrival事件响应程序
Figure BDA0000461343980000032
''说明当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;
Figure BDA0000461343980000041
本发明具有的优点和积极效果是:使用的是UDP协议只要客户端能用UDP协议收发数据,能修改UDP端口号,就可以利用网守与其它与网守有联系的客户端。而不必考虑客户端用的是什么操作系统,客户端是不是PC机。
附图说明
图1是本发明实施例提供的基于Visual Basic的网守程序的原理图。
具体实施方式
为能进一步了解本发明的发明内容、特点及功效,兹例举以下实施例,并配合附图详细说明如下:
图1示出了本发明的基于Visual Basic的网守程序的原理,如图所示,本发明是这样实现的,一种网守系统设计方法首先是客户端的约定,每客户端都有自己的ID号,每个客户端的ID号都不同(0<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。软件设计的具体步骤如下:
步骤一,用Microsoft Office Access创建Access数据库并命名为db1.MOD在该数据库中用表向导生成IP data表。并在表中加入ID,IP两个字段并把ID字段设为主键字段。把ID字段的数据类型设定为数字,字段大小设定为5,必添字段属性设为“是”,索引属性设为“有”(无重复);把IP字段的数据类型设定为“文本”,字段大小设定为“20”,必添字段属性设为“是”,索引属性设为“无”(可以重复)。
步骤二,进入Visual Basic6.0后激活菜单“文件/新建工程”在对话框中选择“创建普通应用程序控制(企业版)”由于要使用数据访问对象DAO(DataAccess Object)访问和操作数据库所以要在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窗口中写入以下代码
Figure BDA0000461343980000061
代码说明App.Path对象返回当前运行程序所在的路径名,db为DAO数据库对象变量OpenDatabase方法是打开数据库并返回Database对象。该语句中有两个False,前者是将除外性关闭,即如许多个使用者使用数据库;后者是将只读性关闭,即数据库可读可写。随后的几条语句是初始化Winsock控件,通讯协议用UDP协议,绑定本地8100端口。
整个程序是靠Data Arrival事件来驱动,程序的核心是Data Arrival事件响应程序
Figure BDA0000461343980000071
''说明当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;
Figure BDA0000461343980000081
本网守是针对单片机通讯而设计的所以对客户端的要求必须要很低。客户端不需要专门的客户软件,不需要Windows Unix等操作系统的支持。通讯约定也必须很简单,客户端并不需要用复杂的数据解析程序,只需对原通讯程序稍作修改以适应该约定就行。
本发明具有的优点和积极效果是:使用的是UDP协议只要客户端能用UDP协议收发数据,能修改UDP端口号,就可以利用网守与其它与网守有联系的客户端。而不必考虑客户端用的是什么操作系统,客户端是不是PC机。
以上所述仅是对本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改,等同变化与修饰,均属于本发明技术方案的范围内。

Claims (2)

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窗口中写入以下代码
Figure FDA0000461343970000021
代码说明App.Path对象返回当前运行程序所在的路径名,db为DAO数据库对象变量OpenDatabase方法是打开数据库并返回Database对象,该语句中有两个False,前者是将除外性关闭,即如许多个使用者使用数据库;后者是将只读性关闭,即数据库可读可写;随后的几条语句是初始化Winsock控件,通讯协议用UDP协议,绑定本地8100端口;
整个程序是靠Data Arrival事件来驱动,程序的核心是Data Arrival事件响应程序
Figure FDA0000461343970000031
''说明当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;
CN201410033463.8A 2014-01-24 2014-01-24 一种网守系统设计方法 Pending CN103780479A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410033463.8A CN103780479A (zh) 2014-01-24 2014-01-24 一种网守系统设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410033463.8A CN103780479A (zh) 2014-01-24 2014-01-24 一种网守系统设计方法

Publications (1)

Publication Number Publication Date
CN103780479A true CN103780479A (zh) 2014-05-07

Family

ID=50572338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410033463.8A Pending CN103780479A (zh) 2014-01-24 2014-01-24 一种网守系统设计方法

Country Status (1)

Country Link
CN (1) CN103780479A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552723A (zh) * 2008-04-03 2009-10-07 大唐移动通信设备有限公司 一种获取andsf实体的ip地址的方法、系统及装置
CN101783775A (zh) * 2009-12-25 2010-07-21 北京交通大学 一种向量网和ip网的网关方式互连方法
CN102025848A (zh) * 2009-09-18 2011-04-20 鸿富锦精密工业(深圳)有限公司 网关及其处理封包的方法
EP2338263A1 (en) * 2008-09-17 2011-06-29 Telefonaktiebolaget L M Ericsson (PUBL) Ip address discovery
WO2013166696A1 (zh) * 2012-05-11 2013-11-14 华为技术有限公司 数据传输方法、系统及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552723A (zh) * 2008-04-03 2009-10-07 大唐移动通信设备有限公司 一种获取andsf实体的ip地址的方法、系统及装置
EP2338263A1 (en) * 2008-09-17 2011-06-29 Telefonaktiebolaget L M Ericsson (PUBL) Ip address discovery
CN102025848A (zh) * 2009-09-18 2011-04-20 鸿富锦精密工业(深圳)有限公司 网关及其处理封包的方法
CN101783775A (zh) * 2009-12-25 2010-07-21 北京交通大学 一种向量网和ip网的网关方式互连方法
WO2013166696A1 (zh) * 2012-05-11 2013-11-14 华为技术有限公司 数据传输方法、系统及装置

Similar Documents

Publication Publication Date Title
CN102209076B (zh) 服务端与客户端之间的交互方法和交互系统
CN103733148A (zh) 能源管理网关和过程
CN109635019B (zh) 请求处理方法、装置、设备及存储介质
US20140019616A1 (en) Systems and methods for business network management discovery and consolidation
AU2011349613B2 (en) Generating maps of private spaces using mobile computing device sensors
CN103747004A (zh) 物联网平台通信协议的实现方法
CN110162994A (zh) 权限控制方法、系统、电子设备及计算机可读存储介质
US11184231B1 (en) Device connector service for device and management service integration
US10970142B2 (en) Transforming plug-in application recipe variables
CN102567026A (zh) 移动应用构建系统和移动应用构建方法
CN106789227A (zh) 一种上网行为分析方法及上网行为分析装置
KR20230010695A (ko) 차별화된 프라이빗 빈도 중복 제거
CN102034144A (zh) 用于在场的群组组成算法
CN110943883B (zh) 网络流量统计方法、系统、网关及计算机可读存储介质
CN104598622A (zh) 一种数据修改日志的实现方法和系统及应用服务器
CN107222575A (zh) 实现工控设备间opc通信的方法
CN109844732B (zh) 使用随时间的用户转换来确定ip地址的地理定位
DE112018005283T5 (de) Deduplizierung für dateien in einem cloud-computing-speicher und in datenübertragungswerkzeugen
CN109413224A (zh) 报文转发方法和装置
Jin et al. IoT device management architecture based on proxy
CN107493251A (zh) 一种登录目标服务器的方法及终端
WO2020160067A1 (en) Configurable system for resolving requests received from multiple client devices in a network system
CN103780479A (zh) 一种网守系统设计方法
CN111045928A (zh) 一种接口数据测试方法、装置、终端及存储介质
CN110300222A (zh) 一种短信显示方法、系统及终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140507