मैं विंडोज 8 मेट्रो अनुप्रयोगों के लिए नए WinRT (.NET 4.5
में आईआरसी क्लाइंट का निर्माण कर रहा हूं।विनरेट - टीसीपी क्लाइंट?
हालांकि, मेरे पास कुछ समस्याएं हैं। मुझे पहले ही पता चला है कि मुझे टीसीपी डेटा पढ़ने के लिए 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
कैसे आते हैं?
यादृच्छिक विचार; क्या आपने एसिंक तरीकों का प्रयास किया है? शायद वे async का उपयोग करना चाहते हैं? –
हां, कनेक्शन के समय तक अभी तक कुछ भी प्राप्त नहीं हुआ है। आपको इनपुटस्ट्रीम पर ReadAsync() को कॉल करना होगा। –
क्षमा करें, सिर्फ एक जंगली गधा अनुमान है, लेकिन आईआरसी को मल्टीकास्ट यूडीपी कनेक्टिविटी की आवश्यकता नहीं है? – Haspemulator