Как создать простое приложение Websockets HTML5 с использованием ASP.NET 4.0 (C#). Моя проблема заключается в создании веб-узлов. Ниже приведен код, который пытался ...ASP.NET HTML5 WebSockets с реализацией C#
try
{
var listener = new TcpListener(IPAddress.Loopback, 9988);
listener.Start();
using (var client = listener.AcceptTcpClient())
using (var stream = client.GetStream())
using (var reader = new StreamReader(stream))
using (var writer = new StreamWriter(stream))
{
writer.WriteLine("HTTP/1.1 101 Web Socket Protocol Handshake");
writer.WriteLine("Upgrade: WebSocket");
writer.WriteLine("Connection: Upgrade");
writer.WriteLine("WebSocket-Origin: http://localhost:9988");
writer.WriteLine("WebSocket-Location: ws://localhost:8181/websession");
writer.WriteLine("");
}
listener.Stop();
}
catch (Exception ex)
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "", ex.Message);
}
И HTML код следующим образом ...!
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
var status = '';
function conStatus(state) {
return (state == 0) ? 'Connecting..!' : (state == 1) ? 'Opened..!' : (state == 2) ? 'Closing..!' : 'Closed..!';
}
function WebSocketTest() {
if ("WebSocket" in window) {
try {
debugger;
var connection = new WebSocket('ws://localhost:9988');
status += '<br/>Socket Status: ' + conStatus(connection.readyState);
connection.onopen = function() {
status += 'Socket Opened..!';
};
connection.onmessage = function() {
status += 'Socket received a message..!';
};
connection.onclose = function() {
status += 'Socket Closed..!';
};
connection.send('Hello World..!');
}
catch (exception) {
status += '<br/>EXCEPTION: ' + exception;
}
}
else {
status += "Your Browser does not support WebSockets...!"
}
document.write(status);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="sse">
<a href="javascript:WebSocketTest()">Run WebSocket</a>
</div>
<div id="status">
</div>
</form>
</body>
</html>
Если я запустил этот файл, страница продолжает загружаться .. я не вижу никакого результата ..! Просьба предоставить мне решение .... Спасибо заранее.
Не отвечайте на свой вопрос, но вы [SignalR] (http: //signalr.net)? Я верю, что он поддерживает связь с WebSocket и может обернуть для вас сантехнику –
он просит .NET 4.0 ... SignalR требует 4.5 и IIS8 для websocket –