(.NET 4.5
Windows 8 Metro アプリケーション用の新しい WinRT ) フレームワークで IRC クライアントを構築しています。
ただし、いくつか問題があります。TCP データを読み取るために a を使用する必要があることはすでにわかっていますStreamSocket
が、何か間違っている可能性があります。
私がこれを信じる理由は、データを受け取っていないからです。
以下に私のコードを示します。これに関するウェブ上のコードサンプルを見つけることができませんでした。
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 を返します。
どうして?