• 第一次接触WebSocket遇到的坑以及感受


    要求用.net写一个服务,然后通过webscoket实现客户端与服务端之间的通信。

    第一次知道.net还可以用来写服务,然后问题来了,服务是什么- -。。下面图里的就是服务,可以停止暂停和启动。

    我要实现websocket需要什么:

    1.首先得确保你的windows安装了webScoket功能,如何安装参考https://blog.csdn.net/yelin042/article/details/81082688

    2.需要生成WindowsService并且这个服务要开启(我一开始以为1弄好了就能通信了,结果发现还要开启服务,不然1写的服务就没有意义了。)

    3.服务开启需要指定ip号+端口号。。这个得正确不然也无法连接成功,没连上的话一般会返回404,400代码(先得建立连接,然后打开websocket后才能进行通信,通信主要是send方法,只要不close方法断开通信,就会一直进行通信)

    3.1 开启服务:写了一个bat 调用服务然后用生成后的debug文件家里的exe来开启服务的

    websocket的方法主要是send发送信息,然后onMessage事件来接受信息,close和open来连接和关闭,其他更多方法参考阮一峰的http://www.ruanyifeng.com/blog/2017/05/websocket.html

     还有一个注意的是如果改动了服务里的代码如业务逻辑等,要使新的服务生效必须得先停止服务,再debug里重新生成服务,再启动服务,不然新服务不会生效。

    websocket相比ajax请求更高效,不用像ajax一样每次客户端需要数据都得请求后端方法(比如说前端要拿10次数据,那就得重复10次请求,每次请求都有大量的包头啥的,效率就不高,而websocket只要请求一次,连上后客户端和服务就能高效通信),后者是双向的,前者是单向的,只要一开始建立连接后就可以互相通信,效率比较高,两者区别参考http://www.cnblogs.com/zhongzihao/p/7859785.html。

    主要用于与c/s的通信,本文用到websocket是给盘点机用的,服务里调用了读写器的接口,而读写器要求读写要迅速并且实时通信,websocket正好满足了这个需求,避免占用太多资源。

  • 相关阅读:
    hdu-6166(最短路+二进制分组)
    hdu-1238(kmp+枚举)
    hdu-3294(最长回文子串)
    hdu-3068(最长回文子串-manacher)
    二维凸包 Graham扫描算法 +hdu 1392
    经典技术书籍
    hdu 5365 计算几何 给几个点判断是否为正方形
    线性素数筛
    关于大数的题
    树状数组的简介和线段树基础操作
  • 原文地址:https://www.cnblogs.com/clsl/p/10467700.html
Copyright © 2020-2023  润新知