- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在研究 WinRT(Windows8 Release Preview)。我有一个 Web 应用程序(实际上是一个更简单的 XMPP 客户端)。
我主要使用 StreamSocket 类来连接 Jabber Server。它给了我一个好的开始。但是当我尝试升级已经连接的套接字以使用 SSL 时遇到了问题。
我使用 StreamSocket.UpgradeToSslAsync实现它。它抛出这样的异常
A method was called at an unexpected time. (Exception from HRESULT: 0x8000000E)
我不知道为什么会这样。我已经按照上面的链接做了所有的事情。我已经成功创建了套接字连接。我可以从 Jabber 服务器接收一些 xml 节。这是它运行时的图片。![在此处输入图片描述][1]
您可以在 new tab 中看到图片.
当我点击 UpToSSL 按钮时,它崩溃并抛出上述异常。
这里是更简单的版本代码:
// xmpp is my CXMPP client class
private void StartTlsBtn_Click(object sender, RoutedEventArgs e)
{
xmpp.SendXml("<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls' />");
}
// it works fine, and i have got the reponse from server:
// <proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
// next step i should upgrade my sockey connection to ssl
private void UpSslBtn_Click(object sender, RoutedEventArgs e)
{
xmpp.UpToSsl();
}
async public void UpToSsl()
{
SendEvent.WaitOne();
SendEvent.Reset();
// private StreamSocket ClientSock;
await ClientSock.UpgradeToSslAsync(SocketProtectionLevel.Ssl, ClientSock.Information.RemoteHostName);
isSsl = true;
SendEvent.Set();
}
请给我一些提示。谢谢。
最佳答案
我也在为 Metro 开发 XMPP 应用程序,服务器连接和协议(protocol)解析器已准备就绪。
我正在使用三个 ManualResetEvents,因此发送、接收和提升不会发生冲突。还要小心,因为 UpgradeToSslAsync 不接受自签名证书,在这种情况下会引发异常。
我真的很想进一步帮助你,但我试图用这个来资助自己,XMPP 库将在应用程序在商店发布后发布
关于c# - 使用 StreamSocket 升级到 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11046655/
DataReader.LoadAsync 不检测关闭的套接字(使用 InputStreamOptions::Partial) 我正在通过 TCP 连接向服务器发送数据并读取响应,但之后一切正常。但是在
我有一个 StreamSocket,我在关闭 UWP 应用程序期间将其丢弃。我的具有 Socket 连接的客户端仍然认为连接是事件的,即使应用程序已经关闭。 只有在重新启动套接字时,我的客户端才会给出
我正在开发一个 C#、UWP 10 解决方案,它使用快速、连续的读/写循环与网络设备通信。 API 提供的 StreamSocket 似乎工作得很好,直到我意识到存在内存泄漏:累积了 Task。在堆中
我正在使用 StreamSocketListener 在 Windows Phone 8(充当服务器)上接收由 HTTP POST 客户端发送的数据。我可以接收数据,但是当读取所有数据时,DataRe
所以我已经收到这个异常大约一个星期了,我终于设法将它变成一个易于阅读的代码片段。 作为背景,我正在为 Windows RT 编写一个应用程序,我正在尝试使用基本套接字。 为了测试,我创建了一个本地套接
我有一台运行 MPD(音乐播放器守护程序)的服务器,它通过套接字进行通信。现在我正在尝试在 Windows 商店应用程序中实现 MPD 协议(protocol)。基本上我发送一个命令并收到一个列表,该
我正在研究 WinRT(Windows8 Release Preview)。我有一个 Web 应用程序(实际上是一个更简单的 XMPP 客户端)。 我主要使用 StreamSocket 类来连接 Ja
我有一个 WinRT 应用程序,它使用 StreamSocket 和 DataWriter 执行上传。它跟踪上传所花费的时间,然后计算吞吐量。 我遇到的问题是我获得的吞吐量远高于 Wireshark
我正在尝试在 C# 中为 UWP 实现 XMPP 客户端,为了实现这一点,我使用 StreamSocket 进行 TCP 连接。 问题是对于握手和SASL auth,我需要服务器从客户端进行一系列“写
我正在尝试通过 StreamSocket 发送 HTTP 请求,但响应被 chop 为 “failedWinRTError:对象已关闭。” 这是我的代码: var count, hostName,
我的 Windows Phone 8 应用程序中有以下代码。 //connection code, done during app start socket = new StreamSocket();
在 Windows Phone 8.1 应用程序中,我必须按如下方式创建套接字。我如何更改它,以便它在我可以指定的时间段后超时? _socket = new StreamSocket(); await
我发布这个是因为我已经浪费了一天的时间来搜索和编程一个即使在 Metro 中也应该很容易设置的东西。 我正在寻找一个 C# StreamSocket 示例,它可以连接到套接字,从套接字读取数据(我不确
我尝试将已连接的 StreamSocket 附加到 SecureStreamSocket: class MyConnection : public TCPServerConnection { pr
我有以下 c#/WinRT 代码来接收来自 IMAP 命令的响应 DataReader reader = new DataReader(sock.InputStream); reader.InputS
使用 Windows StreamSocket 类 (TCP) 处理断开连接和重新连接事件的正确方法是什么? 我有一个问题,在断开连接事件后调用 async_connect 时调用“无效操作,在意外时
我有一个正在为 Windows 8/WinRT 编写的应用程序,它使用 StreamSocket API 与服务器建立流式连接。也就是说,服务器向客户端流式传输数据,有时带有元标记,并且可以随时断开连
我可以使用 TLS 1.2 成功连接到我们的服务器。但是我们可以选择传入 SNI(在客户端问候消息中),这会将我们重定向到防火墙后面的另一台服务器。如何在 C# StreamSocket 或 SslS
这是最小的可能场景,我能够准备: 此代码连接到 imap.gmail.com 读取初始服务器问候语(使用 Read 方法) 发送 NOOP 命令(NO 操作) 读取 NOOP 命令响应(再次使用 Re
我正在创建一个 Win 8 商店应用程序,我在其中使用 StreamSocket 连接到一个用 Java 编写的服务器。当我在调试中运行应用程序时,在 StreamSocket.ConnectAsyn
我是一名优秀的程序员,十分优秀!