Попытка отправить сообщение на порт прослушивания от клиента к серверу - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть два проекта клиент и сервер.Сервер - это проект .net, который использует HttpListener и прослушивает определенный порт.Теперь я хочу отправить сообщение на этот порт прослушивания из другого проекта, который использует 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
                }
            }
...