从网络接收字符串用换行符填充控制台?

时间:2017-04-10 19:39:19

标签: c# networking chat

我一直在研究涉及房间的小聊天系统。据我所知,服务器上的所有东西都运行正常。我知道我使用的客户端的代码也很好,因为我无法在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();

我对你不确定,但我发现这段代码没有任何问题,我个人在这里失言了。

提前致谢。

0 个答案:

没有答案