我有一个netty
服务器,它将字符串消息写入C#
客户端,类似于:
for(int i=0; i<100; i++)
{
ctx.writeAndFlush("1;somestring"); // somestring is around 1000 characters long
}
第一条消息很好地到达了我的客户端,它是
1;somestring
但下一条消息已经是
1;somestring1;somestring1;somestring1;somestring1;somestring1;somestring
在几条消息之后它甚至变成了
1;somestring1;somestring1;somestring1;somestri� // End of message
��ng1;somestring1;somestringng1;somestring1;somestring1;somestring1;somestr // Next message
ing1;somestring1;somestring1;somestring1;somestring1;somestring1;somestring1;som // More randomly cut messages
estring1;somestring1;somestring1;somestring1;somestring1;somestring1;somestring
我不知道是什么原因造成了这个 或者那一行的断线,或者为什么这些消息会像那样组合并随意切割。
感谢您的帮助。
编辑:
这是客户端代码:
tc = new TcpClient("127.0.0.1", 1234);
tc.NoDelay = true;
tc.Client.NoDelay = true;
tc.ReceiveBufferSize = 8192;
ns = tc.GetStream();
writer = new StreamWriter(ns);
reader = new StreamReader(ns);
byte[] bytes = new byte[tc.ReceiveBufferSize];
ns.Read(bytes, 0, bytes.Length);
input = Encoding.UTF8.GetString(bytes);