创建一个“ Hello World” WebSocket示例

我不明白为什么我无法使以下代码正常工作。我想用JavaScript连接到服务器控制台应用程序。然后将数据发送到服务器。


这是服务器代码:


    static void Main(string[] args)

    {            

        TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"), 9998);

        server.Start();

        var client = server.AcceptTcpClient();

        var stream = client.GetStream();


        while (true)

        {

            var buffer = new byte[1024]; 

            // wait for data to be received

            var bytesRead = stream.Read(buffer, 0, buffer.Length);                

            var r = System.Text.Encoding.UTF8.GetString(buffer);

            // write received data to the console

            Console.WriteLine(r.Substring(0, bytesRead));

        }

    }

这是JavaScript:


        var ws = new WebSocket("ws://localhost:9998/service");

        ws.onopen = function () {

            ws.send("Hello World"); // I WANT TO SEND THIS MESSAGE TO THE SERVER!!!!!!!!

        };


        ws.onmessage = function (evt) {

            var received_msg = evt.data;

            alert("Message is received...");

        };

        ws.onclose = function () {

            // websocket is closed.

            alert("Connection is closed...");

        };

当我运行该代码时,会发生以下情况:

http://img4.mukewang.com/5d983f5d000152d508970252.jpg

请注意,当我运行JavaScript时,服务器会接受并成功建立连接。JavaScript无法发送数据。每当我放置send方法时,即使建立连接也不会发送。我该如何进行这项工作?



慕妹3242003
浏览 677回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP