主机名中带有用户令牌的UWP C#.net StreamSocket
是否有方法将StreamSocket的主机名格式化为包含用户令牌?当我尝试将URI和用户令牌一起使用时,会出现“参数不正确”异常。我已经成功地使用了MessageWebSocket,但我需要一个StreamSocket,因为它能够(轻松地)在Windows10UWP的后台运行。这是我的密码。任何帮助都将不胜感激主机名中带有用户令牌的UWP C#.net StreamSocket,c#,uwp,access-token,hostname,stream-socket-client,C#,Uwp,Access Token,Hostname,Stream Socket Client,是否有方法将StreamSocket的主机名格式化为包含用户令牌?当我尝试将URI和用户令牌一起使用时,会出现“参数不正确”异常。我已经成功地使用了MessageWebSocket,但我需要一个StreamSocket,因为它能够(轻松地)在Windows10UWP的后台运行。这是我的密码。任何帮助都将不胜感激 public static async void ConnectToStreamSocket() { StreamSocket socket = new Stre
public static async void ConnectToStreamSocket()
{
StreamSocket socket = new StreamSocket();
string hostUri = "//example.myexample.com/websocket/dfkjlkdfskldklfdkddkfdkffjf";
HostName host = new HostName(hostUri);
string proto = "wss";
await socket.ConnectAsync(host, proto);
}
当我尝试将URI和用户令牌一起使用时,会出现“参数不正确”异常
的参数不是,而是包含主机名或IP地址的字符串。根据hostName
参数的描述,它可以包含以下内容之一:
- 可由域名系统(DNS)或其他命名空间提供程序解析的主机名
- 与本地计算机上以下文件中的字符串匹配的主机名:%WINDIR%\system32\drivers\etc\hosts
- 包含主机的IPv4或IPv6网络地址的字符串李>
“//example.myexample.com/websocket/dfkjlkdfsklklfdkdkffjf”
,这是一个URI,不满足上述要求,因此类无法识别它。可以识别像example.myexample.com
这样的值
对于为什么可以成功地使用该类,这是因为该方法需要您提供的URI参数
但是我需要一个StreamSocket,因为它能够(轻松地)在Windows10UWP的后台运行
WebSockets
提供了一种机制,用于客户端和服务器之间使用HTTP通过web进行快速、安全的双向通信插座
可用于与其他设备通信。它们不是相同的东西,我们不能简单地将WebSockets
传输到StreamSocket
。有关uwp中的WebSockets
和StreamSockets
的更多详细信息,请参考官方文件和
但是
WebSockets
可以在后台使用,您可能不需要StreamSocket
。如果您在后台使用WebSocket,则必须使用。有关如何将WebSocket与ControlChannelTrigger一起使用的详细信息,请参考。谢谢。我现在正在使用ControlChannelTrigger,当数据通过MessageWebSocket时,它成功地触发了my background任务。此后,我一直在寻找如何将通过套接字接收到的数据放入后台任务,以便能够处理它。到目前为止,我还没有在网上找到任何解释该过程的内容。@JamesB,请尝试参考。顺便说一下,如果我的回答对你有帮助,请标记为已接受。如果您仍然有新的问题,您可以打开新的线程。