【发布时间】:2018-12-23 15:22:24
【问题描述】:
(在我开始之前,我知道这个标题很糟糕,如果有人能想到一个更好的名字,我会喜欢它)
我没有编程的想法,发现一个帖子列出了一些东西,所以我做了一个简单的本地聊天服务器。服务器运行良好,直到我尝试连接(通过 tcpClient)
来自客户端的代码如下:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
readData = "Connected."
Msg()
clientSocket.Connect("xxx.xxx.xx.xxx", 8888)
serverStream = clientSocket.GetStream()
Dim outStream As Byte() = Encoding.ASCII.GetBytes(TextBox1.Text & "$")
serverStream.Write(outStream, 0, outStream.Length)
serverStream.Flush()
Dim ctThread As Threading.Thread = New Threading.Thread(AddressOf GetMessage)
ctThread.Start()
End Sub
IP 是我的 IPV4 静态地址。
在服务器端:
Dim serverSocket As TcpListener = New TcpListener(ip, 8888)
Dim clientSocket As TcpClient
Dim counter As Integer = 0
serverSocket.Start()
Msg("Server started.")
While (True)
counter += 1
clientSocket = serverSocket.AcceptTcpClient()
Dim bytesFrom(10024) As Byte
Dim dataFromClient As String
Dim networkStream As NetworkStream = clientSocket.GetStream()
networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize))
dataFromClient = Encoding.ASCII.GetString(bytesFrom)
dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"))
clientsList(dataFromClient) = clientSocket
Msg(dataFromClient & "joined the server.")
Dim client as new handleClient
client.startClient(clientSocket, dataFromClient, clientsList)
End While
当我尝试连接客户端时,服务器抛出this
我不明白为什么会这样。任何帮助将不胜感激。
【问题讨论】:
-
1.请发布 full 堆栈跟踪 2。您的问题似乎与 stackoverflow.com/questions/23697819/… 非常相似
-
@Freggar erm 在编程方面,与其他人相比,我是一个新手。我如何获得完整的堆栈跟踪?
-
@AhmedAbdelhameed 感谢您的帮助! :)
-
@David C# 也“使用”.Net 并且是 Microsoft 推动的主要语言,因此遗憾的是,您会发现 C# 代码比 VB.NET 更常见。您可以将代码转换器用于小代码 sn-ps,如该答案:carlosag.net/tools/codetranslator
标签: vb.net tcp tcpclient outofrangeexception