正在尝试从本地PC运行websocket服务器

正在尝试从本地PC运行websocket服务器,websocket,uwp,Websocket,Uwp,我正在尝试为我的UWP Windows 10应用程序开发一个web套接字服务器应用程序 这是我的代码: class Server { public async void Start() { MessageWebSocket webSock = new MessageWebSocket(); //In this case we will be sending/receiving a string so we need to set the Mes

我正在尝试为我的UWP Windows 10应用程序开发一个web套接字服务器应用程序

这是我的代码:

class Server
{
    public  async void Start()
    {
        MessageWebSocket webSock = new MessageWebSocket();

        //In this case we will be sending/receiving a string so we need to set the MessageType to Utf8.
        webSock.Control.MessageType = SocketMessageType.Utf8;

        //Add the MessageReceived event handler.
        webSock.MessageReceived += WebSock_MessageReceived;

        //Add the Closed event handler.
        webSock.Closed += WebSock_Closed;

        Uri serverUri = new Uri("ws://127.0.0.1/motion");

        try
        {
            //Connect to the server.
            await webSock.ConnectAsync(serverUri);

            //Send a message to the server.
            await WebSock_SendMessage(webSock, "Hello, world!");
        }
        catch (Exception ex)
        {
            //Add code here to handle any exceptions
        }

    }

    //The MessageReceived event handler.
    private void WebSock_MessageReceived(MessageWebSocket sender, MessageWebSocketMessageReceivedEventArgs args)
    {
        DataReader messageReader = args.GetDataReader();
        messageReader.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf8;
        string messageString = messageReader.ReadString(messageReader.UnconsumedBufferLength);

        //Add code here to do something with the string that is received.
    }


    //The Closed event handler
    private void WebSock_Closed(IWebSocket sender, WebSocketClosedEventArgs args)
    {
        //Add code here to do something when the connection is closed locally or by the server
    }

    //Send a message to the server.
    private async Task WebSock_SendMessage(MessageWebSocket webSock, string message)
    {
        DataWriter messageWriter = new DataWriter(webSock.OutputStream);
        messageWriter.WriteString(message);
        await messageWriter.StoreAsync();
    }
}
此处显示错误: 等待webSock.ConnectAsync(serverUri)

出现此错误时:

未找到(404)。(HRESULT的例外:0x80190194)

代码

await webSock.ConnectAsync(serverUri);
尝试连接到位于ws://127.0.0.1/motion的现有服务器,而不是在此地址部署服务器

您可以通过以下链接寻找构建c#WebSocket服务器的方法:


我个人对此没有任何经验,但您可能想试试。它似乎是一个便携式嵌入式HTTP和web套接字服务器,也支持UWP,可以在Windows应用商店和Windows 10 IoT核心应用程序中运行

从它的功能来看,它是相当新的,并不完全成熟,也没有很多的文档或样本可用。不过,还有一个可用的


不幸的是,我还没有找到其他选择。

谢谢你的回答。我正在寻找从我的本地工作站PC托管一个web套接字服务器。这些链接能给我提供吗?使用UWP而不是普通桌面您可以使用SignalR for WS-如何在没有IISAt按钮行的情况下自托管SignalR因为WB基于TCP协议,您需要在“非服务器PC”上打开一个TCP服务器。您可以像此项目一样自行构建WS-TCP服务器:或者使用不带IIS的SingalR托管。