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

转载于:https://www.cnblogs.com/clsl/p/10467700.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值