zoukankan      html  css  js  c++  java
  • 第一次接触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正好满足了这个需求,避免占用太多资源。

  • 相关阅读:
    luogu 1865 数论 线性素数筛法
    洛谷 2921 记忆化搜索 tarjan 基环外向树
    洛谷 1052 dp 状态压缩
    洛谷 1156 dp
    洛谷 1063 dp 区间dp
    洛谷 2409 dp 月赛题目
    洛谷1199 简单博弈 贪心
    洛谷1417 烹调方案 dp 贪心
    洛谷1387 二维dp 不是特别简略的题解 智商题
    2016 10 28考试 dp 乱搞 树状数组
  • 原文地址:https://www.cnblogs.com/clsl/p/10467700.html
Copyright © 2011-2022 走看看