尝试从客户端到服务器的监听端口上发送消息

时间:2018-09-19 20:30:49

标签: javascript .net telnet netstat httplistener

我有两个项目客户端和服务器。服务器是一个使用HttpListener并在特定端口上侦听的.net项目。现在,我希望从另一个使用Javascript的项目向此侦听端口发送一些消息。客户端没有访问服务器。

我尝试使用telnet连接并且打开了黑屏,因此打开了端口并正在监听。 我不知道如何向该监听端口发送消息。出于测试目的,我尝试使用netstat,但是我不知道该命令的正确性。

客户:

var xhr = new XMLHttpRequest();
        var url = "https://localhost:49215";
        xhr.open("POST", url, true);
        xhr.setRequestHeader("Content-Type", "application/json");
        xhr.onreadystatechange = function () {
            if (xhr.readyState === 4 && xhr.status === 200) {
                var json = JSON.parse(xhr.responseText);
                console.log(json.email + ", " + json.password);
            }
        };
        var data = JSON.stringify({ "email": "test@mail.com", "password": "****" });
        xhr.send(data);

服务器:

HttpListener listener = new HttpListener();

            GetListenerOnFreePort(out listener, out port);


            while (true)
            {
                try
                {
                    var context = listener.GetContext(); //Block until a connection comes in
                    context.Response.StatusCode = 200;
                    context.Response.SendChunked = true;

                    int totalTime = 0;

                    while (true)
                    {
                        if (totalTime % 3000 == 0)
                        {
                            var bytes = Encoding.UTF8.GetBytes(new string('3', 1000) + "\n");
                            context.Response.OutputStream.Write(bytes, 0, bytes.Length);
                        }

                        if (totalTime % 5000 == 0)
                        {
                            var bytes = Encoding.UTF8.GetBytes(new string('5', 1000) + "\n");
                            context.Response.OutputStream.Write(bytes, 0, bytes.Length);
                        }

                        Thread.Sleep(1000);
                        totalTime += 1000;
                    }

                }
                catch (Exception)
                {
                    // Client disconnected or some other error - ignored for this example
                }
            }

0 个答案:

没有答案