先介绍一下winsock吧!1.TCP (Transfer Control Protocol:传输控制协议)基础 数据控制传输协议允许创建和维护与远程计算机的连接。连接两台计算机就可彼此进行数据传输。如果创建客户应用程序,就必须知道服务器计算机名或者 IP 地址(RemoteHost 属性),还要知道进行“侦听”的端口(RemotePort 属性),然后调用 Connect 方法。 如果创建服务器应用程序,就应设置一个收听端口(LocalPort 属性)并调用 Listen 方法。当客户计算机需要连接时就会发生 ConnectionRequest 事件。为了完成连接,可调用 ConnectionRequest 事件内的 Accept 方法。 建立连接后,任何一方计算机都可以收发数据。为了发送数据,可调用 SendData 方法。当接收数据时会发生 DataArrival 事件。调用 DataArrival 事件内的 GetData 方法就可获取数据。属性方法LocalHostName | 本地机器名LocalIP | 本地机器IP地址LocalPort | 本地机器通信程序的端口(0<端口<65536)RemoteHost | 远程机器名RemotePort | 远程机器的通信程序端口state | 连接的当前状态Protocal | 使用TCP或UDP协议ListenListen方法用于服务器程序,等待客户访问。格式:Winsock对象.listenConnectConnect方法用于向远程主机发出连接请求格式:Winsock对象.connect [远程主机IP,远程端口]AcceptAccept方法用于接受一个连接请求格式:Winsock对象.accept Request IDSenddata此方法用于发送数据格式:Winsock对象.senddata 数据Getdata用来取得接收到的数据格式:Winsock对象.getdata 变量 [,数据类型 [,最大长度]]Close关闭当前连接格式:Winsock对象.close 事件Close | 远程机器关闭连接时触发Connect | 连接建立好,可以进行通信时触发(客户端)ConnectRequest | 有请求连接到达时产生(服务器端)DataArrival | 有数据到达时触发Error | 发生错误时发生SendProgress | 数据传送进度 Winsock的state属性常数 值 描述 sckClosed 0 缺省值,关闭。 SckOpen 1 打开。 SckListening 2 侦听 sckConnectionPending 3 连接挂起 sckResolvingHost 4 识别主机。 sckHostResolved 5 已识别主机 sckConnecting 6 正在连接。 sckConnected 7 已连接。 sckClosing 8 同级人员正在关闭连接。 sckError 9 错误。好接下来,把我的设计给大家送上来:'========================================================'判断程序是否是第一第运行,如果是则要求他填写主机的名称或者是ip,如果不是则读取主机的ip给程序Dim Number As StringDim ServerName As StringOpen (App.Path & "\number.ini") For Input As #1Line Input #1, NumberClose #1If Number = 0 ThenServerName = InputBox$("这是第一次运行本程序.请输入主机的名称", "输入主机的名称,请再半角下输入,且为英文输入法", "input host name", , 100)Open (App.Path & "\server.ini") For Output As #2Write #2, ServerNameClose #2Open (App.Path & "\number.ini") For Output As #3Write #3, 1Close #3ElseOpen (App.Path & "\server.txt") For Input As #4Line Input #4, ServerIpClose #4End If'========================================================以上部分是为了存储用户要连接的服务器的ip'========================================================'对serverip的处理Dim I As Integer '用I来存储SERVERIP的长度Dim Server As StringI = Len(ServerIp)'对serverip进行处理,删除两边的双引号Server = Mid(ServerIp, 2, I - 2)ServerIp = Server'========================================================这部分我都不知道有没有必要'========================================================'配置stuwintcp,测试StuWinTcp.Protocol = sckTCPProtocolStuWinTcp.LocalPort = 9000StuWinTcp.RemotePort = 9001StuWinTcp.RemoteHost = ServerIp '"127.0.0.1"'========================================================下来就是我们的主题了,对远程机进行连接。。。

评论