栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Websocket服务器:永远不会调用Web套接字上的onopen函数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Websocket服务器:永远不会调用Web套接字上的onopen函数

可能是编码问题。这是我编写的可运行的C#服务器:

class Program{    static void Main(string[] args)    {        var listener = new TcpListener(IPAddress.Loopback, 8181);        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:8080"); writer.WriteLine("WebSocket-Location: ws://localhost:8181/websession"); writer.WriteLine("");        }        listener.Stop();    }}

以及相应的客户端托管在

localhost:8080

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">  <head>    <script type="text/javascript">      var socket = new WebSocket('ws://localhost:8181/websession');      socket.onopen = function() {        alert('handshake successfully established. May send data now...');      };      socket.onclose = function() {        alert('connection closed');      };    </script>  </head>  <body>  </body></html>

本示例仅建立握手。建立握手后,您将需要调整服务器以继续接受数据。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/421484.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号