正文

 经过在vb精英里的潜水,终于把winsock高定了。2005-10-03 09:30:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/5611.html

分享到:

先介绍一下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"'========================================================下来就是我们的主题了,对远程机进行连接。。。

阅读(4401) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册