- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安VB教程基地 来源:黑客防线网安VB教程基地 浏览次数:0 |
Microsoft的Windows Sockets API是Windows下的网络应用程序接口,为了适用于Windows下的消息机制和异步的I/O选择操作,Windows Sockets API在功能上扩充了将近20个函数,其中扩充的部分均冠以前缀WSA(Windows Sockets Asynchronous),如WSAStartup、WSAClean等,充分体现了Widnows的优越性。此外,Windows Sockets API有16位版和32位版两种,16位版是单进程的,32位版则提供了多线程下的安全保护。
Microsoft Visual Basic提供了用于Windows Sockets编程的可用控件——Winsock控件。该控件为用户提供了访问TCP和UDP网络的极其方便的途径。并且适用于Microsoft Access、Visual Basic、Visual C++和Visual FoxPro等多种可视化环境。通过Winsock控件编制C/S程序,程序员无须了解TCP或低级Winsock APIs调用实现的细节,如用户无须考虑网络字节顺序与本机字接顺序便可直接进行数据的传送。用该控件实现网间进程通信极其方便。
在TCP应用中,为了建立一个网络连接实例(Instance)的服务器端,只需设置本地服务端口号,然后服务器调用方法Listen进入阻塞状态,等待来自客户的连接请求。与此对应的客户端不但要将Winsock的属性RemoteHost置为服务器的名称(IP地址或网络代号),还应设置服务器所监听的相应服务的端口号(RemotePort),如FTP服务在21号端口,HTTP在81号端口等。然后调用方法Winsock.Connect向服务器发出请求。服务器接收到客户请求时,事件ConnectionRequest将被触发。如服务器愿意提供服务,则可调用Accept方法接受连接。
一旦连接建立,两端均可使用SendData或GetData进行数据的发送或接收。事件DataArrival将在另一端数据准备就绪时被触发。
UDP协议的实现与TCP不同的是,调用Sockets的两端无需建立连接便可进行数据的传输。因此,一个UDP应用可以同时担任服务器或客户的角色。
以下程序代码为Visual Basic Windows Sockets编程的基本框架。
'服务器方
Private Sub Command1.Click()
'设置本地服务端口号
Winsock1.localport=2048
'服务器进入监听状态
Winsock1.listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
'收到客户连接请求
'检查Socket状态
If Winsock1.State <> sckClosed Then Winsock1.Close
'接受客户请求
Winsock1.Accept requestID
End Sub
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |