【发布时间】:2015-03-18 04:52:33
【问题描述】:
我开发了一个基于 C# 的 TCP 服务器 GUI 应用程序,它接受来自多个 TCP 客户端的数据。
我从 TCP 客户端接收的数据是 32 位数据。在我的应用程序中,多个 TCP 客户端数据如下所示:
00012331100025123000124510321562(来自 1 个客户)
01112563110002512456012451032125等等……
现在我希望首先将 TCP 客户端的这些数据解析为 4 位,并将其显示在(比如说)数据网格的 8 列(32/4=8)中,因为每个 4 位代表 TCP 客户端的某些特征。同样的事情应该适用于数据网格第二行上的下一个 TCP 客户端。
你能给我一些建议或例子吗?任何帮助,将不胜感激。提前谢谢你。
这是我从多个 TCP 客户端接收数据的代码。
void m_Terminal_MessageRecived(Socket socket, byte[] buffer)
{
string message = ConvertBytesToString(buffer, buffer.Length);
PublishMessage(listMessages, string.Format("Sockets: {0}", message));
// Send Echo
// m_ServerTerminal.DistributeMessage(buffer);
}
private string ConvertBytesToString(byte[] bytes, int iRx)
{
char[] chars = new char[iRx + 1];
System.Text.Decoder d = System.Text.Encoding.UTF8.GetDecoder();
d.GetChars(bytes, 0, iRx, chars, 0);
string szData = new string(chars);
return szData;
}
【问题讨论】:
-
00012331100025123000124510321562是超过 32 位的信息,所以你的描述没有多大意义。此外,您的问题似乎是关于显示信息,但您所显示的只是接收数据的代码。请提供a good, minimal, complete code example,准确显示您迄今为止所做的尝试,并准确解释该代码的作用以及与您希望它做的不同之处。 -
如果算上它,它是 32 位数据。不要看那些数字。好吧,我问了关于显示数据的问题,所以我把它贴在这里。如果我知道的话,我就不会在这里发帖了。这就是我发布的代码,我可以通过它接收该数据。
-
你知道what a bit is吗?请阅读我在之前评论中提供的链接,以及这个链接:stackoverflow.com/help/how-to-ask。
-
嗯..谢谢你的链接。
标签: c# wpf sockets tcp datagrid