我正在尝试为学校项目创建服务器/客户端应用程序。
我在给定端口上有一台服务器,连接了多个用户,每个用户都有自己的用户名。
现在我想检查尝试连接的用户是否使用了有效的用户名。例如,如果用户名 A 的用户已连接,则想要连接的新用户不能使用用户名 A。
如果发生这种情况,服务器将使用错误代码响应新客户端。
这是这部分的代码:
private void Receive()
{
while (true)
{
byte[] buffer = new byte[64];
socket.Receive(buffer);
string received = Encoding.Default.GetString(buffer);
if (received.IndexOf("!error") != -1)
{
string[] mySplit = received.Split(':');
string errorCode = mySplit[1].Trim((char)0);
if (errorCode == "user exists")
{
richTextBox1.AppendText("Your connection was refused by server, because there's already another user connected with the username you choose");
socket.Disconnect(true);
connectBtn.Enabled = true;
}
}
}
}
当我尝试执行此操作时,程序崩溃并且 Visual Studio 说richTextBox1
.