2012-11-20 190 views
0

我试图连接到使用HTML5从例如C#TCP服务器http://www.tutorialspoint.com/html5/html5_websocket.htmHTML5 WebSocket连接到C#TCP套接字

<!DOCTYPE HTML> 
<html> 
<head> 
<script type="text/javascript"> 
function WebSocketTest() 
{ 
    if ("WebSocket" in window) 
    { 
    alert("WebSocket is supported by your Browser!"); 
    // Let us open a web socket 
    var ws = new WebSocket("ws://localhost:9998/echo"); 
    ws.onopen = function() 
    { 
     // Web Socket is connected, send data using send() 
     ws.send("Message to send"); 
     alert("Message is sent..."); 
    }; 
    ws.onmessage = function (evt) 
    { 
     var received_msg = evt.data; 
     alert("Message is received..."); 
    }; 
    ws.onclose = function() 
    { 
     // websocket is closed. 
     alert("Connection is closed..."); 
    }; 
    } 
    else 
    { 
    // The browser doesn't support WebSocket 
    alert("WebSocket NOT supported by your Browser!"); 
    } 
} 
</script> 
</head> 
<body> 
<div id="sse"> 
<a href="javascript:WebSocketTest()">Run WebSocket</a> 
</div> 
</body> 
</html> 

的TCP服务器端口4530在本地机器上运行,因此,我改变

var ws = new WebSocket("ws://localhost:9998/echo"); 

var ws = new WebSocket("ws://localhost:4530"); 

当我运行页面,我得到的消息WebSocket由您的浏览器支持!它挂在那里。任何帮助?

+2

你的服务器是否支持正确的'WebSocket'协议?它可能取决于您使用的[浏览器](http://en.wikipedia.org/wiki/WebSocket#Browser_support) –

+0

您的意思是tcp服务器应该也支持Websocket?就浏览器而言,是不是消息*** WebSocket是否被浏览器支持!***足够了? – Mika

+1

Websockets在TCP之上使用特殊的协议,包括一些额外的连接握手。这不像正常的套接字,你可以连接并开始通信。 –

回答

1

Mika,看看http://xsockets.net,它是一个易于上手的dotnet(c#)实时框架,可以在Nuget上找到。只需点击PM控制台中的Install-Package XSockets即可。

该框架handels 6455规范以及它做的“旧”Hybi00协议(草案)。

它有一个类似jQuery的客户端JavaScript库和服务器端API提醒MVC。

+0

好吧,我会看看。 – Mika