VB 和 PHP SOCKET 通信问题 请各位帮忙看看
--------------------编程问答-------------------- 很显然,你这个服务端代码只能支持一个客户端连接一次,所以必然会出现这个结果,建议你还是另找个Winsock多客户端通讯方面的例子看看吧,不是一句两句能解释清楚的。 --------------------编程问答-------------------- 我觉得,应该是你的 PHP刷新时,它是把先的连接断开,重新创建连接的。而你的VB程序那儿,只支持一个连接;
PHP刷新造成连接断开时,你的tcpServer并没有断开(VB端应该是不会接到通知的吧),因此不能接受新的连接请求。
--------------------编程问答--------------------
Private Sub Form_Load()
winsock1.LocalPort = 8888
winsock1.Listen
End Sub
Private Sub winsock1_ConnectionRequest(ByVal requestID As Long)
If winsock1.State <> sckClosed Then winsock1.Close
winsock1.Accept requestID
Label1.Caption = "有客户端接入本机!IP:为" & winsock1.RemoteHostIP
End Sub
Private Sub winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
winsock1.GetData strData
Text1.Text = strData
winsock1.Close
End Sub
我已经增加了 close 但是好像还是不行 --------------------编程问答--------------------
我的问题解决了
在 winsock1.Close 下面加了 重新监听 就行了--------------------编程问答-------------------- 看来我还是猜对原因了。
winsock1.Listen
--------------------编程问答-------------------- 虽然加上Winsock1.Listen进行重新监听,但是依然只能接受一个客户端,如果再开个新页面马上就该出错了! --------------------编程问答--------------------
他的设计,看样子只能接受一个连接的。
补充:VB , 网络编程