计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
另外,从逻辑功能上看,计算机网络是以传输信息为基础目的,用通信线路将多个计算机连接起来的计算机系统的集合,一个计算机网络组成包括传输介质和通信设备。
从用户角度看,计算机网络是这样定义的:存在着一个能为用户自动管理的网络操作系统。由它调用完成用户所调用的资源,而整个网络像一个大的计算机系统一样,对用户是透明的。
发展历程
中国计算机网络设备制造行业是改革开放后成长起来的,早期与世界先进水平存在巨大差距;但受益于计算机网络设备行业生产技术不断提高以及下游需求市场不断扩大,我国计算机网络设备制造行业发展十分迅速。
近两年,随着我国国民经济的快速发展以及国际金融危机的逐渐消退,计算机网络设备制造行业获得良好发展机遇,中国已成为全球计算机网络设备制造行业重点发展市场。
Ⅱ 国家计算机网络安全管理法规
VB真想不到之六:有用的技术和没用的指针
作者: AdamBear 来源:CSDN
关键字:VB、SafeArray、数值类型指针
难度:中级
参考文章:
1、2000年7月VBPJ Black Belt专栏文章《Modify a Varialbe's Pointer》
作者:Bill McCarthy
引言:
这真的是指针专题的最后一篇了(当然,以后肯定还会提到指针)。主要是来谈谈Bill McCarthy的文章《Modify a Varialbe's Pointer》的精华。关于这篇文章的东西,在我的《VB指针葵花宝典之SafeArray》里曾谈到过,但那篇文章实际上没有写出SafeArray的精华,用SafeArray最妙的地方在于可以将一个变量建在指定的内存处,就象上一篇文章给出的那个字串类一样。
正文:
Bill McCarthy在那篇《Modify a Varialbe's Pointer》里用SafeArray实现多进程的数组共享内存,他考虑了数组变量的类型,因此可以兼容大部分数值类型的数组,是一个非常不错的东西。我这里不讲它实现的具体方法,只是想和大家一起看看SafeArray还能做什么。
修改SafeArray结构的pvData指针却是一个非常有用的技术,通过修改pvData,就能够通过数组直接访问指定的内存。
和上一篇文章包装字串指针类一样,通过修改pvData,我们也可以包装一些普通数值类型变量的指针类。
我在指针的第一篇文章里说过,要想实现C语言里'*'这个取指针所指变量值功能,必须要用CopyMemory。实际上,我说错了,我们完全可以实现和C里一样的指针,如下:
//C语言
Long L;
Long* pL = &L;
*pL = 12;
printf("L = %d *pL = %d", l, *pl);
'VB里
Dim pL As New pLong, L As Long
pL.Attach L
'也可以 pL.Ptr = VarPtr(L)
pL = 12
Debug.Print "L ="; L; " *pL ="; pL
结果都能够通过修改pL指针,达到修改变量L的目的。
上面VB代码里的pLong就是一个包装好的Long型变量的指针类,下面看看如何来实现它:
Option Explicit
'********************************************************
'pLong.cls
'包装一个Long型指针的类
'作者: 熊超 ID: AdamBear 2002年3月18日
'http://www.csdn.net/Author/AdamBear
' 你可以自由使用本类模块,不过请保留本声明
'********************************************************
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private m_Arr(0) As Long
'缺省属性
Public Property Get Data() As Long
Data = m_Arr(0)
End Property
Public Property Let Data(ByVal Value As Long)
m_Arr(0) = Value
End Property
Public Sub Attach(Target As Long)
Ptr = VarPtr(Target)
End Sub
Public Property Let Ptr(ByVal Target As Long)
Dim pSA As Long
'得到SafeArray结构指针pSA
CopyMemory pSA, ByVal VarPtrArray(m_Arr), 4
'这个指针偏移12个字节后就是pvData指针
CopyMemory ByVal (pSA + 12), Target, 4
End Property
Public Property Get Ptr() As Long
Ptr = m_SA.pvData
End Property
Private Sub Class_Terminate()
CopyMemory ByVal VarPtrArray(m_Arr), 0&, 4
End Sub
要将它改成Byte的指针类,只需要将上面的代码中m_Arr数组的类型,Data属性和Attach方法中的参数类型改为Byte型即可。
当我们这样做出pLong、pByte、pInteger后,我们就能够玩点和C里一样的花样了。
Sub Main()
Dim pB As New pByte, B As Byte
Dim pI As New pInteger, I As Integer
Dim pL As New pLong, L As Long
'用Attach方法将经过类型检查,直接用Ptr属性则可以绕过类型检查
pB.Attach B
pI.Attach I
pL.Attach L
'试试指针
B = 1
Debug.Print "B ="; B; " *pB ="; pB
pB = 1
Debug.Print "B ="; B; " *pB ="; pB
I = 1000
Debug.Print "I ="; I; " *pI ="; pI
pI = 2000
Debug.Print "I ="; I; " *pI ="; pI
L = 40000
Debug.Print "L ="; L; " *pL ="; pL
pL = 60000
Debug.Print "L ="; L; " *pL ="; pL
'试试C里的类型转换
'用Integer指针访问Long型变量
pI.Ptr = VarPtr(L)
Debug.Print "*pI ="; pI
End Sub
搞出这几种普通数值类型的指针类有什么用?基本上没有什么大用。不过是证明一种方法的可行性,和演示技术。这种技术还有什么用,需要的时候还会再谈。
后记:
本文的东西,可见CSDN共享软件上的《内存共享和指针》,
指针的专题就到这儿了,下一篇准备开始着手写VB和COM的一个系列文章,其间我准备翻译一下《VB Design Patterns》,这是一本不错的书。
9:43 添加评论 固定链接 引用通告 (0) 记录它 VisualBASIC
固定链接http://vercetti706.spaces.live.com/blog/cns!A467CB278DD3361A!200.entry
添加评论VB真想不到系列五
VB真想不到之五:高效字串指针类
作者:AdamBear 来源:CSDN
关键字:VB、HCAK、字串指针、BSTR、效率、内存共享
难度:中级或高级
参考文章:
1、2000年7月VBPJ Black Belt专栏文章《Modify a Varialbe's Pointer》
作者:Bill McCarthy
2、1998年4月VBPJ Black Belt专栏文章《Play VB's Strings》
作者:Francesco Balena
引言:
本想以内存共享做为VB指针专题的最后一篇,写着写着发现字串的问题应该单独谈谈。在内存共享的问题上,我尤其关心的是字串的共享,因为在我一个多月前发布的源码里用的是《HardCore VB》里Bruce Mckinney提供的CShareStr类,它实现了字串的内存共享。但是Bruce也没有突破局限,对字串的处理依然是CopyMemory的干坤大挪移,尤其是还要进行讨厌的ANSI/DBCS和Unicode的转换。我在readme里说过它效率极低,应该采用Variant或Byte数组来实现,才能避免转换。后来又想到可以用StrPtr来做,并在VC里用DLL共享节实现了可以不进行转换的字串内存共享。不过在VC里我仍然需要用SysAllocString来建立VB能使用的BSTR。这都不是我想要的,我想要的东西要象VC里的CString的一样,只要字串够大,对其赋值就不用重新分配内存,还要象VC里CComBSTR类一样可以Attach到一个特定BSTR。
知道该怎么做,是在看了VBPJ上Bill McCarthy和Francesco Balena的两篇文章之后。Bill用修改SafeArray描述结构实现了数组的内存共享,而Francesco则对字串指针进行深入的探讨。但是Bill和Francesco的东西都没有实现我想要的字串类。
方法知道了,实现并不难,所以我决定自己来包装一个这样的东西。
正文:
使用VB里的字串类型String有两大不足:第一、它的分配是由VB运行时控制,我们不能将其分配在指定内存处;第二,任何一次对字串的赋值操作都要进行内存重新分配。要实现高效、灵活的字串处理,我们必须克服这两大不足。
对于第一个问题,通过修改String变量里放着的BSTR描述符指针可以实现;对于第二个问题,可以用Mid语句(注意是语句而不是函数)来赋值。不详细讲了,直接看下面的这个类:
Option Explicit
'********************************************************
'clsBSTR.cls
'作者: 熊超 ID: AdamBear 2002年3月18日
'http://www.csdn.net/Author/AdamBear
' 你可以自由使用本类模块,不过请保留本声明
'********************************************************
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
'不要直接对sString赋值(可以用MID语句),将其设为公有仅为提高效率。
Public sString As String 'BSTR描述符指针
Private pStr As Long 'BSTR地址
Private nMaxLen As Long 'BSTR最大字节数
'让本字串指向特定地址
Public Sub Attach(Addr As Long, Optional nLen As Long)
pStr = Addr
'修改BSTR描述符指针,使其指向Addr
CopyMemory ByVal VarPtr(sString), Addr, 4
If IsMissing(nLen) Then Exit Sub
'设定最大字串字节数
nMaxLen = nLen
End Sub
'还原本字串原BSTR描述符
Public Sub Detach()
CopyMemory ByVal VarPtr(sString), 0&, 4
End Sub
'让本字串指向源字串
Public Sub AttachStr(sStr As String)
Attach StrPtr(sStr), LenB(sStr)
End Sub
'data为缺省属性
Public Property Let data(sVal As String)
Dim c As Long
c = LenB(sVal)
'超过最大字串数,抛出错误。
If c > nMaxLen Then Err.Raise vbObjectError + 3000, _
"CString::Let Data", "溢出"
'写字串长度
CopyMemory ByVal (pStr - 4), c, 4
'写字串
Mid(sString, 1) = sVal
End Property
'可以通过公有变量sString来读字串,效率更高
Public Property Get data() As String
data = sString
End Property
Private Sub Class_Terminate()
Call Detach
End Sub
用法如下,假设我们已通过VitualAlloc,HeapAlloc,MapViewOfFile这样的内存管理API得到了一个4k个字节的可读写的内存地址baseAddr:
Dim sShare As New clsBSTR
'留下前4个字节用于BSTR保存字串字节数
sShare.Attach(baseAddr+4, 4096-4)
'下面的字串"Test"会直接写到baseAddr+4字节处
sShare = "Test"
Dim y As String
'读字串时可以用sString属性或缺省属性
y = sShare.sString
'用AttachStr方法Attach到一个字串。
'必须要先Detach
sShare.Detach
sShare.AttachStr(y)
sShare = "Hahaha"
Debug.Print y
'一旦AttachStr到字串y后,对sShare的修改就相当于对y的修改。
'并且以后对y的修改也只能用Mid语句
Mid(y, 1) = "xxxxx"
'不能直接赋值,这样VB会将原来y所指(也是sShare所指)内存释放,
' 重新分配y。这样在访问sShare时会出错。
'y = "Test"
我也不在这里讲这个类的详细原理,可以参考我前面说的两篇文章。
使用这个类有几个需要注意的地方。
1、读字串时可以用sString属性来读,更快。
读sShare有两种方法,一种是用缺省属性Data来读,一种是直接用sString属性来读。用sString属性不重新分配内存,要快得多。
2、不要直接给sString赋值,应使用缺省的data属性来赋值。
之所以把sString属性暴露出来,是为了效率和方便。我们可以用Mid语句对其进行修改,但不要直接用"="来赋值。
3、注意Attach的第二个参数,表示字串的最大字节数,不要让它超过已经分配的内存。
4、用AttachStr将本字串对象Attach到某个字串(比如上面的y)上后,不能再对这个字串y重新赋值,也不能将其传递到会对其重新赋值的过程。
哇,这么多需要注意的问题,用起来岂不是更不方便。的确,用它的之前要考虑是不是必须的。因为建立这个类也一样有开销。所以还有一个需要注意的问题:
5、它主要的应用还是在于将字串安放在指定内存处。虽然它也可以让同一个进程内几个的字串达到共享的目的,但是如果只是两三个很小的字串这样时做反而慢了。
后计:
数组指针和字串指针我们已经谈过了,对于普通的数值类型变量的指针没有什么Hack的必要,但是它关系到一个有用的技术,下篇文章再谈。
本文和下篇文章的代码,以及用这个类来实现的共享内存的代码,我会发布到CSDN共享软件上,名字是《内存共享和指针》。
9:38 添加评论 固定链接 引用通告 (0) 记录它 VisualBASIC
固定链接http://vercetti706.spaces.live.com/blog/cns!A467CB278DD3361A!199.entry
添加评论VB真想不到系列四
VB真是想不到系列之四:VB指针葵花宝典之SafeArray
作者:AdamBear 来源:CSDN
Ⅲ 国家计算机网络应急技术处理协调中心怎么样
1、国家互联网应急中心全称是国家计算机网络应急技术处理协调中心 ,其成立于2002年9月,是工业和信息化部领导下的国家级网络安全应急机构。
2、其致力于建设国家级的网络安全监测中心、预警中心、应急中心,以支撑政府主管部门履行网络安全相关的社会管理和公共服务职能,支持基础信息网络的安全防护和安全运行,支援重要信息系统的网络安全监测、预警和处置。
3、CNCERT作为国家互联网安全应急体系的核心技术协调机构,在协调国内安全应急组织(CERT)共同处理互联网安全事件方面发挥着重要作用。 2003年,CNCERT在我国大陆31个省、自治区、直辖市成立分中心,完成了跨网络、跨系统、跨地域的公共互联网网络安全应急技术支撑体系建设,形成了全国性的互联网网络安全信息共享、技术协调能力。
不同地区每月按公务员的待遇发工资较高,需具有计算机高级一级技工证,工信部的计算机操作员,网络搭建工程师,计算机网络证明,最好有微软的认证。
Ⅳ 有哪些有关国家计算机网络应急技术处理协调中心面试的经验
面试最好正装。注意面试着装的整洁、庄重、大方,比如衣服要洁净合体、皮鞋要擦亮等,充分展现自己的精神风貌,给考官留下清爽、称体、舒服的感觉。
要沉着冷静,把握好分寸,突出自己的优势。硕士一定要强调自己的科研能力。
要极其有礼貌,争取良好的第一印象。坐下来后要保持挺拔的身姿,保持注意力的集中,不要左顾右盼或是经理分散,更没有必要慌乱。面试完要说谢谢,要面带微笑。
专业内容的论述时,回答问题要有层次感,以“总—分—总”为框架,运用好“首先、其次、再次”,“第一、第二、第三”之类的量词,给考官留下思路清晰、思维缜密的印象。考生还应尽力可能从所聘职位的角度思考、分析和回答问题。
面试表达时,语言要流畅、语速要平稳、吐字要清楚,将想到的观点充分、正确地表达出来。此外,回答问题的声音一定要洪亮,充分体现个人的自信。
在候考室等待时,如果有与他人沟通的习惯或需求,可以与其他考生进行交流,缓解心情的紧张。但是,交流要适度,不可过分激动或兴奋。如果环境不允许或是没有这样的意愿,考生可以闭目养神、小睡片刻或是听听喜欢的音乐,放松自己的身心。
个人行为习惯:注意面试礼仪的善始善终,离场时间向考官微微鞠躬,礼貌道别,满怀自信地走出考场。切不可因发挥不好而自乱阵脚,以失败者的颓废形象离场,导致虎头蛇尾、前功尽弃。
Ⅳ 有关国家计算机网络安全管理法规有什么
有关于加强国际通信网络架构保护的若干规定、互联网等信息网络传播视听节目管理办法、《网络游戏管理暂行办法》、《文化部关于网络音乐发展和管理的若干意见》等等诸如此类的法律法规。