【发布时间】:2016-08-16 16:53:21
【问题描述】:
我正在尝试使用websocket-sharp 创建一个简单的 C# websocket 服务器 我按照官方指南进行操作,但得到了一些奇怪的回复。
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) 连接到服务器时,我收到了一条消息
与“ws://127.0.0.1:8181/”的 WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:501
根据HTTP Protocol,代码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;
谁能告诉我我的错误在哪里?
【问题讨论】:
-
你试过 url
ws://127.0.0.1:8181(不带斜线)吗? -
没用....
标签: c# html sockets websocket websocket-sharp