我在用VB试着写一个股票程序,有一个服务器端,用于发送股票随机价格和成交量,一个客户端用于接受价格和成交量两个数据,并实时画走势图,采用的控件是Microsoft Winsock Control 6.0,用TCP协议连接,但每次运行服务器端程序,要发送数据时,VB总是提示出错:
实时错误'40006'
Wrong protocol or connection state for the requested transaction or request
请大侠们帮帮我,十分感谢!!!并大量分值赠送(不够再补)
实时错误'40006'
Wrong protocol or connection state for the requested transaction or request
请大侠们帮帮我,十分感谢!!!并大量分值赠送(不够再补)
解决方案 »
- 求助 SendMessage 鼠标点击WebBrowser1 坐标
- 如何获取网卡的数量,及检测速度是100MB还是1000MB
- vsFlexGrid最后一行,第一格为5,怎么表达,那位仁兄,可以回答一下
- 弱问一个vb的基础问题,在线结分
- winsock相关
- 高分求助报表解决方案,谁能给解决出来我给100分,谢谢。(大虾请进)只要解决一定给分,以人格保证
- 有这样的控件吗?
- 很难!
- 是我的错还是程序的错,ADO怪现象
- VB开发OCX控件,有没有方法访问OCX内的函数?
- ◎_◎ 有完全的服务器程序运行权限,屏蔽某个内部IP通过服务器访问外部网,如何编程?
- 用BitBlt剪切图像,这样对图像的分辨率有没有影响?
socClient.Connect sServer
socClient.SendData txtSend.Text 调用了Connect语句后,控件立即返回,此时连接尚未建立。你应该在socClient_Connect事件中使用socClient.SendData txtSend.Text。
Private Sub Winsock1_Connect()
If Winsock1.State = 7 Then Winsock1.SendData txtSend.Text
End Sub
On Error Resume Next
Dim I As Integer
Dim ClientData As Variant
Winsock1(Index).GetData ClientData, vbString
Text1.Text = Text1.Text & ClientData & vbCrLf
For I = 1 To Clients
If Winsock1(I).State = sckConnected Then
Winsock1(I).SendData ClientData
DoEvents
End If
Next
End Sub
Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Dim I As Integer
Dim Temps As Integer
For I = 1 To Clients
If Winsock1(I).State = sckClosed Then
Winsock1(I).Accept requestID
Temps = I
Exit For
End If
Next
End Sub
Winsock1.SendData QueryStr
Else
msgbox("连接失败")
End If