我一直在研究涉及房间的小聊天系统。据我所知,服务器上的所有东西都运行正常。我知道我使用的客户端的代码也很好,因为我无法在Windows窗体应用程序上复制它。
这里有一个小GIF作为演示当我这样做时会发生什么。 (左=服务器,右=客户端) Demonstration of what happens when the client receives a message
我知道服务器没有问题,因为那边的输出很好,所以这可能是客户端的违规代码:
收到消息时会发生这种情况:
while (clientSocket.Connected)
{
serverStream = clientSocket.GetStream();
int buffSize = 0;
byte[] inStream = new byte[clientSocket.ReceiveBufferSize];
buffSize = clientSocket.ReceiveBufferSize;
serverStream.Read(inStream, 0, buffSize);
string returndata = System.Text.Encoding.ASCII.GetString(inStream);
readData = "" + returndata;
Console.WriteLine(readData);
}
我发送时的代码就是这里的代码。请注意,我做了一点卫生设施:
string inps = Console.In.ReadLine().Trim();
inps = Regex.Replace(inps, @"[^\u0009^\u000A^\u000D^\u0020-\u007E]", "");
byte[] outs = System.Text.Encoding.ASCII.GetBytes(inps + "$"); //$ being used as a end of message is only temporary
serverStream.Write(outs, 0, outs.Length);
serverStream.Flush();
我对你不确定,但我发现这段代码没有任何问题,我个人在这里失言了。
提前致谢。