Netty结合消息

时间:2013-12-15 00:45:31

标签: c# java tcp netty

我有一个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);

0 个答案:

没有答案