把WinSock控件放到一个DLL里,然后在外面调用,怎样来控制WinSock控件的状态?
解决方案 »
- vb ado写入文件到数据库中,AddNew之后 objRecordSet.Update报错
- 如何实现1分钟内用户没有动鼠标和键盘就锁定软件?
- 关于vsflex的一个不知道难不难的问题?
- 请问如何难证某字符串是否为7位啊
- 程序提示总是提示找不到dll入口点
- 工具栏中的“|”如何实现,是使用toolbar 还是coolbar, 请高手指点
- 谁知道?哪错了?
- 有谁知道在哪下载或购买VB的Email控件谢谢
- 有谁知道chm文件格式的资料在那里
- 安装了mdac_typ.exe是不是就有了ado2.5,但是在vb里面怎么引用呢?
- 如何写一个根据单元格数值来设定该单元格字体颜色的宏?
- 初學﹐一個簡單問題﹐送分﹐在線等待﹐急﹗﹗
我的思路是在发送数据前先检查是否连接上服务器端,如果没有连接就先连接再发送,可结果这样竟然报错,我检查连接状态值竟然是6,也就是连接中,这是为什么呀?
举例:在某一个Form里,含有wckGet(WinSock控件),SrvHostIP(服务器IP),SrvHostPort(服务器端口),strGet(得到的数据),strSend(发送的数据)
这个例子的用途是,只要连接上服务器,就立刻发送strSend数据,当服务器发送数据回来时,立刻接受strGet数据,对你也许有点帮助
Private Sub Form_Load()
With wckGet
.RemoteHost = SrvHostIP
.RemotePort = SrvHostPort
.Connect
End With
End SubPrivate Sub wckGet_Connect()
wckGet.SendData strSend & vbCrLf
End SubPrivate Sub wckGet_DataArrival(ByVal bytesTotal As Long)
wckGet.GetData strGet
wckGet.Close
Unload Me
End Sub
Private Sub Form_Load()
With wckGet
.RemoteHost = SrvHostIP
.RemotePort = SrvHostPort
.Connect
End With
End SubPrivate Sub wckGet_Connect()
wckGet.SendData strSend & vbCrLf
End SubPrivate Sub wckGet_DataArrival(ByVal bytesTotal As Long)
wckGet.GetData strGet
wckGet.Close
Unload Me
End Sub
//***************************************
上面的代码是不会出问题,可是假如下面这样的话就不一定了,
因为我发送数据时,并不一定一开始就连接上了。Private Sub Form_Load()End SubPrivate Sub wckGet_Connect()
With wckGet
.RemoteHost = SrvHostIP
.RemotePort = SrvHostPort
.Connect
End With
wckGet.SendData strSend & vbCrLf
End SubPrivate Sub wckGet_DataArrival(ByVal bytesTotal As Long)
wckGet.GetData strGet
wckGet.Close
Unload Me
End Sub