Я пытаюсь создать простой сервер веб-сокетов С# с помощью websocket-sharp, и я следовал официальному руководство, но вместо этого я получил какой-то странный ответ.
Фрагмент C#
using System;
using WebSocketSharp.Server;
namespace WebSocketSharp
{
class MainClass
{
public static void Main(string[] args)
{
startServer();
}
public static void startServer()
{
var ws = new WebSocketServer(System.Net.IPAddress.Any, 8181);
ws.Start();
Console.WriteLine("Server started");
Console.ReadKey(true);
ws.Stop();
Console.WriteLine("Server stopped");
}
}
}
Когда я попытался подключить свой клиент (HTML) к серверу, я получил сообщение
Ошибка подключения WebSocket к «ws://127.0.0.1:8181/»: ошибка во время рукопожатия WebSocket: неожиданный код ответа: 501
и это появилось на моем терминале в то же время
Согласно протоколу HTTP, код 501 означает
Сервер не поддерживает функции, необходимые для выполнения запроса. Это подходящий ответ, когда сервер не распознает метод запроса и не может поддерживать его для любого ресурса.
Это мой клиентский код, и я считаю, что он соответствует методу запроса.
<!doctype html>
<head>
</head>
<body>
<form>
<input id="textField1" type="text" style="margin: 0 5px; width: 200px; height: 40px;" placeholder="Enter data">
<button id="sendTextField1" type="button" class="btn btn-info">Send</button>
</form>
<script type="text/javascript">
var start = function () {
var wsImpl = window.WebSocket || window.MozWebSocket;
window.ws = new wsImpl('ws://127.0.0.1:8181/');
ws.onmessage = function (evt) {
console.log(evt.data);
};
ws.onopen = function () {
console.log("Connected");
};
ws.onclose = function () {
console.log("Closed");
};
document.getElementById("sendTextField1").onclick = function() {
sendToSocket(document.getElementById('textField1').value);
};
function sendToSocket(value){
console.log("Sending value to socket " + value + " ");
ws.send(value);
};
}
window.onload = start;
Может ли кто-нибудь сказать мне, где моя ошибка?
ws://127.0.0.1:8181
(без косой черты)? - person vtortola   schedule 18.08.2016