我正在尝试使用套接字从我的桌面应用程序发送简单的字符串消息,这是将数据发送到客户端的服务器端代码:
swSenderSender = new StreamWriter(tcpClients[i].GetStream());
swSenderSender.WriteLine(From + " says: " + Message);
swSenderSender.Flush();
swSenderSender = null;
我有 Metro 应用程序 -使用 DataReader的客户端代码:
var dr = new DataReader(socket.InputStream);
var stringHeader = await dr.LoadAsync(4);
int strLength = dr.ReadInt32();
uint numStrBytes = await dr.LoadAsync((uint)strLength);
string msg = dr.ReadString(numStrBytes);
这是问题所在。DataReader 需要知道发送的字符串有多长。另一方面,StreamWriter 不能与简单的字符串/或带有新通道的字符串不同。如何连接这两个代码?或者也许还有另一种方法可以做到这一点。请帮忙。我不知道如何格式化数据以便能够在客户端和服务器之间发送它。