在 WinRT/C# 中通过 StreamSocket 连接到 IMAP [英] Connecting to IMAP via StreamSocket in WinRT / C#

查看:32
本文介绍了在 WinRT/C# 中通过 StreamSocket 连接到 IMAP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试编写一些简单的代码来使用 StreamSocket 连接到 IMAP 服务器.它读取服务器连接响应,但随后不会读取任何其他内容.

Trying to write a simple bit of code to connect to an IMAP server using StreamSocket. It reads the server connect response, but then it won't read anything else.

    private async void TCPTest(string hostName, string port)
    {
        status.Text = "start of TCPTest";

        StreamSocket socket = new StreamSocket();
        await socket.ConnectAsync(new HostName(hostName), port);

        string senddata = "A001 login uuu ppp";

        status.Text += "\n first reading...";
        DataReader reader = new DataReader(socket.InputStream);
        reader.InputStreamOptions = InputStreamOptions.Partial;
        await reader.LoadAsync(1024);
        string data = reader.ReadString(reader.UnconsumedBufferLength);
        status.Text += "\n > read " + data;

        status.Text += "\n writing...";
        writer = new DataWriter(socket.OutputStream);
        writer.WriteString(senddata);
        await writer.StoreAsync();
        status.Text += "\n > wrote " + sendata;

        status.Text += "\n second reading...";
        writer = new DataWriter(socket.OutputStream);
        await reader.LoadAsync(1024);
        string data2 = reader.ReadString(reader.UnconsumedBufferLength);
        status.Text += "\n >" + data2;

        status.Text += "\n end of TCPTest";
    }

这是我得到的输出.

start of TCPTest
first reading...
> read * OK mydomain.com IMAP4rev1 MDaemon 13.0.1 ready
writing...
> wrote A001 login uuu ppp
second reading... 

应用程序永远不会比这更进一步.没有错误,它只是挂起.我在这里做错了什么吗?我的代码与 StreamSocket 相同(或多或少)MSDN上的例子

The app never gets any further than this. There's no error, it just hangs. Am I doing something fundamentally wrong here? My code is the same (more or less) as the StreamSocket example on MSDN

推荐答案

原来我没有终止我的命令.添加 Environment.Newline 到最后解决了问题.

Turns out I wasn't terminating my command. Adding Environment.Newline to the end solved things.

这篇关于在 WinRT/C# 中通过 StreamSocket 连接到 IMAP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆