我想制作实现TCP和UDP套接字编程的程序。
这是流程:
我有一个包含10个字符串的字符串数组。
2.我使用TCP客户端程序将字符串数组发送到TCP服务器
3.我尝试将通过TCP服务器程序收到的整个字符串发送到UDP。
但问题是当我尝试从TCP客户端向字符串发送字符串时。
这不是我的预期。
我想发送给TCP服务器的字符串:
Dim strMessage(10) As String
strMessage(0) = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
strMessage(1) = "Etiam imperdiet erat vitae elit faucibus, et accumsan est facilisis."
strMessage(2) = "Duis elementum ante et quam sagittis molestie at ac nulla."
strMessage(3) = "Pellentesque a metus eget metus aliquam pharetra in sed nibh."
strMessage(4) = "Ut ut eros sit amet nisi consequat vulputate."
strMessage(5) = "Fusce vel dui at purus laoreet consequat."
strMessage(6) = "Donec sed erat lacinia, aliquam ante eu, pulvinar ligula."
strMessage(7) = "Vestibulum posuere elit facilisis orci sagittis, id feugiat mi aliquam."
strMessage(8) = "Donec sit amet lectus ut nibh pharetra dapibus ut vitae nulla."
strMessage(9) = "Maecenas quis nunc scelerisque, cursus nibh tristique, pulvinar ipsum."
TCP客户端代码:
Dim stm As Stream
Dim counter As Integer = 0
Do
stm = tcpClient.GetStream() 'getting the stream of the client
Dim ascenc As New ASCIIEncoding
Dim byteData() As Byte = ascenc.GetBytes(strMessage(counter))
Thread.Sleep(2000)
Console.WriteLine("Transmitted ")
stm.Write(byteData, 0, byteData.Length())
counter += 1
Loop While counter < 10
TCP服务器代码:
Dim bitData(100) As Byte
Do
Try
Dim size As Integer = TcpSocket.Receive(bitData)
Console.WriteLine(size.ToString)
Dim newString As String
'Dim chars(size) As Char
'chars(i) = Convert.ToChar(bitData(i))
newString = Encoding.ASCII.GetString(bitData)
'Dim newString As New String(chars)
Console.WriteLine(newString)
strMessage(counter) = newString
counter += 1
If counter = 9 Then
state = 2
End If
Catch ex As Exception
Console.Write(ex.ToString())
End Try
Loop While state = 1
TcpListener.Stop()
TcpSocket.Close()
我从节目中得到的字符串:
这是你收到的信息:Lorem ipsum dolor sit amet,consectetur adipiscing elit。
这是您收到的消息:Etiam imperdiet erat vitae elit faucibus,et accumsan est facilisis。
这是您收到的消息:在n nulla.facilisis上的Duis elementum ante et quam sagittis molestie。
这是您收到的消息:Pellentesque a metus eget metus aliquam pharetra in sed nibh.ilisis。
这是你收到的信息:在ed nisph.ilisis中,你可以坐下来看看。
这是您收到的消息:在sed nibh.ilisis的purus laoreet consequat.ate.tra中的Fusce vel dui。
这是您收到的信息:Donec sed erat lacinia,aliquam ante eu,pulvinar ligula.ibh.ilisis。
这是你收到的信息:Vestibulum posuere elit facilisis orci sagittis,id feugiat mi aliquam。
这是你收到的消息:Donec sit amet lectus ut nibh pharetra dapibus ut vitae nulla。 aliquam。
tcp服务器得到的字符串,它只是:9字符串,不是我想要的字符串。
感谢您的帮助 对我糟糕的语法很抱歉。