Trying to run websocket server from my local PC

1

I am trying to develop a web-socket server app for my UWP Windows 10 App.

This is my code:

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();
    }
}

It errors here: await webSock.ConnectAsync(serverUri);

with this error:

Not found (404). (Exception from HRESULT: 0x80190194)

websocket
uwp
asked on Stack Overflow Jan 11, 2016 by Andrew Simpson

2 Answers

1

I don't have any personal experience with it, but you might want to give IotWeb HTTP Server a try. It seems to be a portable embedded HTTP and web socket server that also supports UWP and can be run inside Windows Store and Windows 10 IoT Core applications.

Judging from its repository, it's rather new and not exactly mature, nor does it have a lot of documentations or samples available. There's a NuGet package available, though.

Unfortunately I didn't manage to find any other alternative yet.

answered on Stack Overflow Jan 11, 2016 by Damir Arh
0

The code

await webSock.ConnectAsync(serverUri);

Is try to connect to existing server at ws://127.0.0.1/motion, Not to deploy a server on this address.

You can look for ways to build a c# WebSocket server at the follwing links:

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_server http://www.codeproject.com/Articles/57060/Web-Socket-Server

answered on Stack Overflow Jan 11, 2016 by Yox2l

User contributions licensed under CC BY-SA 3.0