我有这个用 C# 编写的服务器/客户端应用程序。服务器端有一个 SQL Server,当客户端需要一个表时,它向服务器应用程序发送请求,服务器应用程序连接到 SQL Server 并检索表并通过 NetworkStream 将其发送给客户端。
这是发送 DataSet XML 流的服务器端代码
using (var networkStream = new NetworkStream(m_workerSocket[0]))
{
dataSet.WriteXml(networkStream);
}
我正在将这个 xml 文件作为字节读取并将其转换为字符串并再次将其转换为 DataSet。这是客户端代码:
TextReader reader = new StringReader(richTextRxMessage.Text);
DataSet dataSet = new DataSet();
dataSet.ReadXml(reader);
DataTable dtProd = new DataTable();
dataGridView1.DataSource = dataSet.Tables[0];
我的问题是这是在客户端/服务器之间发送表的有效方式吗?像 10k 条目这样的大表会不会有问题?我能做些什么来优化它?
除了这些表格,例如即时消息或不同类型的文件之外,服务器和客户端之间还会有很多通信。那么如何处理和分类大量数据,无论是文件还是数据集等。例如,我应该<DATASET>, <DOCFILE>
在发送数据之前放置自定义字符串标签(例如等)以识别我正在发送的数据类型吗?谢谢你。
PS:我正在使用异步服务器和客户端来发送和接收数据。