CSDN论坛 > VB > 网络编程

新手问题:听说vb的winsock控件有内存泄漏及可靠性的问题,情况属实吗? 谢谢 [问题点数:100分,结帖人dlfriend]

Bbs1
本版专家分:0
结帖率 88.57%
CSDN今日推荐
Bbs10
本版专家分:123378
Blank
进士 2003年 总版技术专家分年内排行榜第十
Blank
铜牌 2003年7月 总版技术专家分月排行榜第三
Blank
微软MVP 2013年7月 荣获微软MVP称号
2012年7月 荣获微软MVP称号
2006年1月 荣获微软MVP称号
2008年1月 荣获微软MVP称号
2007年1月 荣获微软MVP称号
2005年1月 荣获微软MVP称号
2003年9月 荣获微软MVP称号
Blank
红花 2003年9月 VB大版内专家分月排行榜第一
2003年8月 VB大版内专家分月排行榜第一
2003年7月 VB大版内专家分月排行榜第一
2003年6月 VB大版内专家分月排行榜第一
2003年5月 VB大版内专家分月排行榜第一
2003年4月 VB大版内专家分月排行榜第一
Bbs10
本版专家分:123378
Blank
进士 2003年 总版技术专家分年内排行榜第十
Blank
铜牌 2003年7月 总版技术专家分月排行榜第三
Blank
微软MVP 2013年7月 荣获微软MVP称号
2012年7月 荣获微软MVP称号
2006年1月 荣获微软MVP称号
2008年1月 荣获微软MVP称号
2007年1月 荣获微软MVP称号
2005年1月 荣获微软MVP称号
2003年9月 荣获微软MVP称号
Blank
红花 2003年9月 VB大版内专家分月排行榜第一
2003年8月 VB大版内专家分月排行榜第一
2003年7月 VB大版内专家分月排行榜第一
2003年6月 VB大版内专家分月排行榜第一
2003年5月 VB大版内专家分月排行榜第一
2003年4月 VB大版内专家分月排行榜第一
Bbs3
本版专家分:545
Bbs6
本版专家分:8826
Bbs2
本版专家分:365
Bbs2
本版专家分:365
匿名用户不能发表回复!
其他相关推荐
vb.net使用Winsock控件编程心得
最近做一个数据采集器的服务器软件,数据采集器客户端采集到的数据是通过以太网传输到主机上的。由于时间紧,加上以前我有一点VB6的编程基础,我就用vb.net开发。用的控件还是VB6中的Winsock控件。       在vb.net中要使用Winsock控件有两种方法:第一,就是先安装VB6,然后在vb.net的选项卡中,就可以添加Winsock控件了;第二,是先找到Winsock的文件mswi
VB中使用WinSock控件编写网络程序
WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器并进行数据交换。这两种协议都能用来创建客户端和服务端应用程序。就像定时器控件一样,WinSock控件运行时没有一个可视的界面。   可能的用途   创建客户端应用程序,它能在信息到达中央服务器之前把用户的信息收集起来。   创建服务端应用程序,它能作为来自多个用户的数据一个集中处理点
winsock带注册文件
一、WinSock简介 Socket(套接字)最初是由加利福尼亚大学Berkeley(伯克利)分校为UNIX操作系统开发的网络通信接口,随着UNIX的广泛使用,Socket成为当前最流行的网络通信应用程序接口之一。20世纪90年代初,由Sun Microsystems,JSB,FTP software,Microdyne和Microsoft等几家公司共同定制了一套标准,即Windows Socket规范,简称WinSock。 VB编写网络程序主要有两种方式:1.winsock控件 2.winsockAPI 二、WinSock控件的使用 1.WinSock控件的主要属性 LocalHostName属性 本地机器名 LocalIP属性 本地机器IP地址 LocalPort属性 本地机器通信程序的端口(0<端口<65536) RemoteHost属性 远程机器名 RemotePort属性 远程机器的通信程序端口 Protocol属性 通过Protocol属性可以设置WinSock控件连接远程计算机使用的协议。可选的协议是TCP和UDP对应的VB的常量分别是sckTCPProtocol和sckUDPProtocol,Winsock控件默认协议是TCP。注意:虽然可以在运行时设置协议,但必须在连接未建立或断开连接后。 SocketHandle属性 返回当前socket连接的句柄,这是只读属性。 RemoteHostIP属性 属性返回远程计算机的IP地址。在客户端,当使用了控件的Connect方法后,远程计算机的IP地址就赋给了RemoteHostIP属性,而在服务器端,当ConnectRequest事件后,远程计算机(客户端)的IP地址就赋给了这个属性。如果使用的是UDP协议那么当DataArrival事件后,发送UDP报文的计算机的IP才赋给了这个属性。 ByteReceived属性 返回当前接收缓冲区中的字节数 State属性 返回WinSock控件当前的状态 常数 值 描述 sckClosed 0 缺省值,关闭。 SckOpen 1 打开。 SckListening 2 侦听 sckConnectionPending 3 连接挂起 sckResolvingHost 4 识别主机。 sckHostResolved 5 已识别主机 sckConnecting 6 正在连接。 sckConnected 7 已连接。 sckClosing 8 同级人员正在关闭连接。 sckError 9   错误 2.WinSock主要方法 Listen方法 方法用于服务器程序,等待客户访问。格式:Winsock对象.listen Connect方法 用于向远程主机发出连接请求。格式:Winsock对象.connect [远程主机IP,远程端口] Accept方法 用于接受一个连接请求。格式:Winsock对象.accept Request ID Senddata方法 用于发送数据。格式:Winsock对象.senddata 数据 Getdata方法 用来取得接收到的数据。格式:Winsock对象.getdata 变量 [,数据类型 [,最大长度]] Close方法 关闭当前连接。格式:Winsock对象.close Bind方法 用Bind方法可以把一个端口号固定为本控件使用,使得别的应用程序不能再使用这个端口。 Listen方法Listen方法只在使用TCP协议时有用。它将应用程序置于监听检测状态。 Connect方法 当本地计算机希望和远程计算机建立连接时,就可以调用Connect方法。Connect方法调用的规范为:Connect RemoteHost,RemotePort Accept方法 当服务器接收到客户端的连接请求后,服务器有权决定是否接受客户端的请求。 SendData方法当连接建立后,要发送数据就可以调用SendData方法,该方法只有一个参数,就是要发送的数据。 GetData方法 当本地计算机接收到远程计算机的数据时,数据存放在缓冲区中,要从缓冲区中取出数据,可以使用GetData方法。GetData方法调用规范如下:GetData data,[type,][maxLen]它从缓冲区中取得最长为maxLen的数据,并以type类型存放在data中,GetData取得数据后,就把相应的缓冲区清空。 PeekData方法 和GetData方法类似,但PeekData在取得数据后并不把缓冲区清空。 3.Winsock控件主要事件 Close事件 远程机器关闭连接时触发 Connect事件 连接建立好,可以进行通信时触发(客户端) ConnectRequest事件 当本地计算机接收到远程计算机发送的连接请求时,控件的ConnectRequest事件将会被触发。 SendProgress事件 当一端的计算机正在向另一端的计算机发送数据时,SendProgress事件将被触发。SendProgress事件记录了当前状态下已发送的字节数和剩余字节数。 SendComplete事件 当所有数据发送完成时,被触发。 DataArrival事件 当建立连接后,接受到了新数据就会触发这个事件。注意:如果在接受到新数据前,缓冲区中非空,就不会触发这个事件。 Error事件 当在工作中发生任何错误都会触发这个事件
VB Winsock State属性值
VB  Winsock  State属性值winsock 状态常数 sckClosed 0 关闭状态 sckOpen 1 打开状态 sckListening 2 侦听状态 sckConnectionPending 3 连接挂起 sckResolvingHost 4 解析域名 sckHostResolved 5 已识别主机 sckConnecting 6 正在连接 sckCon
vb中利用winsock控件,tcp协议实现多服务端连接
关于vb中利用winsock控件,tcp协议实现多服务端连接的问题,网上的资料很多,  但是都是复制来复制去,来来去去就那一两个例子,而且大都无法运行,方法不够简洁,给初学者带来一定的难度。  我也是刚接触vb不久的初学者,结合msdn对多连接的介绍,  于是就有了下面的例子(目 前最短的最好理解的,不信可以去Google比较一下)  原创by:Login 欢迎到小站www.host9
VB中采用TCP协议用winsock控件发送和接收自定义结构体数据
伤心啊,刚本本突然没电了,写的东西全丢了,又得再写一遍,郁闷中。。。    算了,正事要紧呐!   最近老师给安排了个任务,利用vb中winsock控件发送和接收数据。   发送端我有public的自定义结构体:Option ExplicitType TestStoreTypeDefine1    DataT                 As Single          '   时间    Data(7)               As Single          '   数据End Type
基于VB Winsock 控件的聊天程序
今天充分利用网络资源,实现了局域网内的聊天程序.其实就是VB中的一个小控件-Winsock控件,Winsock使用了TCP协议和UDP协议,让本地计算机连接到远程的计算机上,在连接结束之前实时地进行数据交换.使用TCP协议时,需要创建一个客户端应用程序,就必须识别服务器的名称或IP地址.应用程序的通信端口随时都将仔细监测对方发出的消息,这是系统进行可靠的连接保证.一旦连接发生,任何一方都可以通过s
vb6 winsock
vb6 winsock通讯使用例子,啥功能没有,就是聊天,客户端获取服务端本地硬盘目录,为什么不是服务端获取客户端?因为客户端能主动连接服务端。
Java语言中是否存在内存泄漏的问题
Java语言中是否存在内存泄漏的问题
内存泄露之常见问题解决--初级篇
身为一个段子猿,我决定来写写最近的学习心得。1.简介在整个Android开发过程中,内存泄露是导致OOM的一个重点因素。大意思就是:GC无法回收原本应该被回收的对象,这个对象就引发了内存泄露。那有什么危害呢?手机的内存大小是有限的,如果不能释放的话,你就无法创建新的对象,你的新界面等等就无法正常运行,然后程序就OOM了(OutOfMemory)。2.OOM以及内存泄露OOM通俗点讲就是,你家里有2个
关闭