如何使用ASP.NET 4.0(C#)創建簡單的HTML5 Websockets應用程序。 我的問題是關於創建Websockets。以下是被試用的代碼...使用C#實現的ASP.NET HTML5 WebSockets
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 –