在客户端有两个文本框(TEXTBOX),一个向服务端发信息,一个接收服务端的反馈信息。
在服务端用控件listbox显示信息并将该信息发送给客户端的一个文本框,可是该文本框不能显示信息。
Private Sub cmdSendData_Click()
' 如果连接成功,则发送数据到服务器
If (sockClient.State = sckConnected) Then
sockClient.SendData txtSendData.Text ’txtSendData为客户端发送信息的文本框名字
Else
MsgBox "以外错误,连接关闭!"
Call cmdDisconnect_Click
End If
End Sub
----------------------------------------------------------------------------------------
Private Sub lstMessages_Click()
sockServer(index).SendData lstMessages.Text 'lstMessages为listbox的名字
End Sub
---------------------------------------------------------------------------------------
Private Sub sockServer_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim data As String, entry As String
' 创建一个大的缓冲区以存放数据
data = String(bytesTotal + 2, Chr$(0))
sockServer(index).GetData data, vbString, bytesTotal
'
entry = sockServer(index).RemoteHostIP & ": " & data
lstMessages.AddItem entry
End Sub
-----------------------------------------------------------------------------------------
Private Sub sockClient_DataArrival(ByVal bytesTotal As Long)
Dim data As String
sockClient.GetData data, vbString
txtReceive.Text = data ’txtReceive为客户端显示信息的文本框名字
End Sub
----------------------------------------------------------------------------------------
请问我错在哪里?
谢谢各位大哥了。
在服务端用控件listbox显示信息并将该信息发送给客户端的一个文本框,可是该文本框不能显示信息。
Private Sub cmdSendData_Click()
' 如果连接成功,则发送数据到服务器
If (sockClient.State = sckConnected) Then
sockClient.SendData txtSendData.Text ’txtSendData为客户端发送信息的文本框名字
Else
MsgBox "以外错误,连接关闭!"
Call cmdDisconnect_Click
End If
End Sub
----------------------------------------------------------------------------------------
Private Sub lstMessages_Click()
sockServer(index).SendData lstMessages.Text 'lstMessages为listbox的名字
End Sub
---------------------------------------------------------------------------------------
Private Sub sockServer_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim data As String, entry As String
' 创建一个大的缓冲区以存放数据
data = String(bytesTotal + 2, Chr$(0))
sockServer(index).GetData data, vbString, bytesTotal
'
entry = sockServer(index).RemoteHostIP & ": " & data
lstMessages.AddItem entry
End Sub
-----------------------------------------------------------------------------------------
Private Sub sockClient_DataArrival(ByVal bytesTotal As Long)
Dim data As String
sockClient.GetData data, vbString
txtReceive.Text = data ’txtReceive为客户端显示信息的文本框名字
End Sub
----------------------------------------------------------------------------------------
请问我错在哪里?
谢谢各位大哥了。
Dim data As String, entry As String
' 创建一个大的缓冲区以存放数据
data = String(bytesTotal + 2, Chr$(0))
sockServer(index).GetData data, vbString, bytesTotal
'
entry = sockServer(index).RemoteHostIP & ": " & data
lstMessages.AddItem entry
End Sub
/////你这里没有反馈信息发送呀。
至少也要加个:
sockserver(index).senddata data
sockServer(index).SendData lstMessages.Text 'lstMessages为listbox的名字
End Sub
///还有这里,index 在一定时候,你知道他是多少吗?
它好像是变的。当你点一下,又不一定正好是那个客户端了。如果只有一个那还行。
这里有必要加2吗?
Private Sub lstMessages_Click()
sockServer(index).SendData lstMessages.Text 'lstMessages为listbox的名字
End Sub