问题一:如何同时接收发送多个数据? 服务端: Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim strData As String Winsock1.GetData strData, vbString '当有数据到达时,调用GetData方法接收之 MSHFlexGrid2.TextMatrix(1, 1) = strData '将接收的内容更新显示MSHFlexGrid2的1行1排里 MSHFlexGrid2.TextMatrix(1, 2)~~~~~这行代码怎么接送数据? End Sub 客户端: Private Sub Winsock1_Connect() If Winsock1.State = sckConnected Then Winsock1.SendData Winsock1.LocalHostName '将计算机名称显示在服务端MSHFlexGrid2的1行1排里 If Winsock1.State = sckConnected Then Winsock1.SendData Winsock1.LocalIP~~~~~这行数据如何发送到MSHFlexGrid2的1行2排里? End Sub 问题二:MSHFlexGrid2里不止一行数据,如何使客户端同时获得相应行的数据并且发送到相应的行.
增加协议,如 Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim strData As String Winsock1.GetData strData, vbString '当有数据到达时,调用GetData方法接收之 if left(strData,1)="1" then MSHFlexGrid2.TextMatrix(1, 1) = strData '将接收的内容更新显示MSHFlexGrid2的1行1排里 end if if left(strData,1) = "2" then MSHFlexGrid2.TextMatrix(1, 2)~~~~~这行代码怎么接送数据? end if End Sub 客户端: Private Sub Winsock1_Connect() If Winsock1.State = sckConnected Then Winsock1.SendData "1:" + Winsock1.LocalHostName '将计算机名称显示在服务端MSHFlexGrid2的1行1排里 If Winsock1.State = sckConnected Then Winsock1.SendData "2:" + Winsock1.LocalIP~~~~~这行数据如何发送到MSHFlexGrid2的1行2排里?
服务端: Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim strData As String Dim i As Long Winsock1.GetData strData For i = 1 To Len(strData) If Mid(strData, i, 1) = "@" Then MSHFlexGrid2.TextMatrix(1, 1) = Left(strData, i - 1)~~~~~~``现已正常获得客户端Winsock1.LocalHostName MSHFlexGrid2.TextMatrix(1, 2) = Right(strData, Len(strData) - i)~~~~~~~~~现已正常获得客户端Winsock1.Winsock1.LocalIP MSHFlexGrid2.TextMatrix(1, 3) =~~~~这里代码如何写? MSHFlexGrid2.TextMatrix(1, 4 =~~~~这里代码如何写? MSHFlexGrid2.TextMatrix(1, 5 =~~~~这里代码如何写? End If Next i End Sub
客户端: Private Sub Winsock1_Connect() If Winsock1.State = sckConnected Then Winsock1.SendData (Winsock1.LocalHostName & "@" & Winsock1.LocalIP & "@" & "TextMatrix(1, 3)的" & "@" & "TextMatrix(1, 4)的" & "@" & "TextMatrix(1, 5的") End If End Sub
服务端: Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim strData As String Dim i As Long Dim mKey As String Winsock1.GetData strData For i = 1 To Len(strData) If Mid(strData, i, 1) = "@" Then mKey = Left(strData, i - 1) strData = Right(strData, Len(strData) - i) Exit For End If Next i Select Case Val(mKey) Case 1 MSHFlexGrid2.TextMatrix(1, 1) =~~~~这里代码如何写? Case 2 MSHFlexGrid2.TextMatrix(1, 2) =~~~~这里代码如何写? Case 3 MSHFlexGrid2.TextMatrix(1, 3) =~~~~这里代码如何写? Case 4 MSHFlexGrid2.TextMatrix(1, 4) =~~~~这里代码如何写? Case 5 MSHFlexGrid2.TextMatrix(1, 5) =~~~~这里代码如何写? End Select End Sub 客户端:客户机端用Winsock1.SendData发命令。命令包括命令ID和命令参数,它们用符号“@”隔开。~~~~这里代码如何写?