VB 多个winsock同时 发送接收的问题
是这样的,我在服务器窗口里创建两个文本框(姓名)和(性别),两个winsock控件,一个的端口是1001,一个是1002,我是想在客户端发来的数据分别放在对应的文本框里。...
是这样的,我在服务器窗口里创建两个文本框(姓名)和(性别) ,两个winsock控件,一个的端口是1001,一个是1002,我是想在客户端发来的数据分别放在对应的文本框里。客户端也是同样的用了两个文本框和两个winsock,填完两个框里的内容后点发送,但是不知道为什么只能收到一个框的?本来我以为一个winsock不能同时发两个数据,所以我创建了两个,但是为什么还是不行呢?这样好比一对一的发送了,那位老师能帮我解答一下,在给个例子!!谢谢
展开
展开全部
可以一条一条发,或者将两条合并在一起发,而不告亩哗需要用两个winsock:
Private Sub cmdSent_Click()
Dim name As String
If txtSent.Text = "" Then
MsgBox "您想要说什么?", vbOKOnly, "系统提示"
Exit Sub
End If
If Option1.Value = True Then
name = ClientName.Text + "耐袭先生: "
Else
name = ClientName.Text + "袜行小姐: "
End If
sckClient.SendData name + txtSent.Text
End Sub
Private Sub cmdSent_Click()
Dim name As String
If txtSent.Text = "" Then
MsgBox "您想要说什么?", vbOKOnly, "系统提示"
Exit Sub
End If
If Option1.Value = True Then
name = ClientName.Text + "耐袭先生: "
Else
name = ClientName.Text + "袜行小姐: "
End If
sckClient.SendData name + txtSent.Text
End Sub
追问
那接收端怎么写,让它接受到对应的框里?
追答
Dim strData As String
Dim I As Long
Private Sub cmdSent_Click()
Dim name As String
If txtSent.Text = "" Then
MsgBox "您想要说什么?", vbOKOnly, "系统提示"
Exit Sub
End If
If Option1.Value = True Then
name = ClientName.Text & Chr(10) & "先生: "
Else
name = ClientName.Text & Chr(10) & "小姐: "
End If
sckClient.SendData name & Chr(10) & txtSent.Text
End Sub
Private Sub sckClient_DataArrival(ByVal bytesTotal As Long)
On Error GoTo skDA_ERROR:
sckClient.GetData strData
txtRecive.Text = txtRecive.Text & strData & vbCrLf
txtRecive.SelStart = Len(txtRecive.Text)
rStr = Split(strData, Chr(10))
For I = 1 To UBound(rStr)
MsgBox rStr(I)
Next
Exit Sub
skDA_ERROR:
MsgBox "接收数据出错"
End Sub
'发送信息时将信息用特殊字符分开,这里采用chr(10)。接收时采用Split将字符串还原成数组。再分别给文本框赋值
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询