我正在(.NET 4.5
为 Windows 8 Metro 应用程序在新的 WinRT ) 框架中构建一个 IRC 客户端。
但是,我有一些问题。我已经发现我需要使用 aStreamSocket
来读取 TCP 数据,但我可能做错了什么。
我相信这是因为我没有收到任何数据。
下面你会看到我的代码。我无法在网上找到任何与此相关的代码示例。
class IRCClient
{
private StreamSocket tcpClient;
public string Server = "holmes.freenode.net";
public int Port = 6665;
public IRCClient()
{
tcpClient = new StreamSocket();
}
public async void Connect()
{
await tcpClient.ConnectAsync(
new Windows.Networking.HostName(Server),
Port.ToString(),
SocketProtectionLevel.PlainSocket);
DataReader reader = new DataReader(tcpClient.InputStream);
string data = reader.ReadString(reader.UnconsumedBufferLength);
MessageDialog dialog = new MessageDialog(data);
}
}
数据始终是该代码后面的空字符串。此外,UnconsumedBufferLength 始终返回 0。
怎么会?