要求用.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正好满足了这个需求,避免占用太多资源。

第一次接触WebSocket遇到的坑以及感受的更多相关文章

  1. Hybird App(一)----第一次接触

    App你知道多少 一 什么是Native App 长处 缺点 二 什么是Web App 长处 缺点 三 什么是Hybrid App 长处 缺点 四 Web AppHybrid AppNative Ap ...

  2. 第一次接触终极事务处理——Hekaton

    在这篇文章里,我想给出如何与终极事务处理(Extreme Transaction Processing (XTP) )的第一次接触,即大家熟知的Hakaton.如果你想对XTP有个很好的概况认识,我推 ...

  3. Springboot整合Websocket遇到的坑

    Springboot整合Websocket遇到的坑 一.使用Springboot内嵌的tomcat启动websocket 1.添加ServerEndpointExporter配置bean @Confi ...

  4. [译]与TensorFlow的第一次接触(三)之聚类

    转自 [译]与TensorFlow的第一次接触(三)之聚类 2016.08.09 16:58* 字数 4316 阅读 7916评论 5喜欢 18 前一章节中介绍的线性回归是一种监督学习算法,我们使用数 ...

  5. 第一次接触FPGA至今,总结的宝贵经验

    从大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表.抢答器.密码锁等实验时那个兴奋劲.当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus ...

  6. 第一次接触C++------感触

    2018/09/24 上大学第一次接触C++,感觉还挺有趣的. C语言是计算机的一门语言,顾名思义,语言嘛,有它自己独特的语法. 第一次用C++敲代码,觉得还挺不错的,可以从中找到乐趣.咏梅老师布置的 ...

  7. 孤荷凌寒自学python第五十天第一次接触NoSql数据库_Firebase

    孤荷凌寒自学python第五十天第一次接触NoSql数据库_Firebase (完整学习过程屏幕记录视频地址在文末) 之前对关系型数据库的学习告一段落,虽然能力所限没有能够完全完成理想中的所有数据库操 ...

  8. 百度地图API的第一次接触

    因为项目的需求,第一次接触了百度API. 第一步:引用百度地图API的脚本 如果在局域网环境中,要把地图文件和js文件都要下载下来 <script type="text/javascr ...

  9. 第一次接触数据库(SQLite)

    第一次接触,学了创建列表 + 行的删除 + 内容的更改 + 删除列表 第一次接触要知道一些基本知识 NULL(SQL) = Nnoe(python)  #空值 INTEGER = int  #整数 R ...

随机推荐

  1. 为什么要用Kubernetes?

    1.前言 第一次接触Kubernetes是在2016年,再一次浏览博文的时候,那是我第一次听到Kubernetes这个名词,也是第一次认识了k8s这么一个东西.后来在慢慢了解它的时候,被它天生高可用. ...

  2. 盘一盘 NIO (二)—— Channel解析

    Channel是个啥? Channel,顾名思义,它就是一个通道.NIO中的所有IO都是从 Channel 开始的. Channel通道和流非常类似,主要有以下几点区别: 1.流是单向的,通道是双向的 ...

  3. sql server 怎么查看blocked的线程

    select spid ,blocked from master..sysprocesses

  4. Egret白鹭开发小游戏中容易犯的错

    在游戏开发过程中遇到问题,请首先查阅:http://developer.egret.com/cn/github/egret-docs/Engine2D/minigame/minigameFAQ/ind ...

  5. EAS webservice安全模式

    1.启用安全控制: isRomoteLocate=false 2.请求添加头部: <soapenv:Header> <SessionId xmlns="http://log ...

  6. Python编程习惯

  7. Badboy - 导出脚本,用于JMeter性能测试

    参考: http://leafwf.blog.51cto.com/872759/1131119 http://www.51testing.com/html/00/130600-1367743.html ...

  8. P2698 [USACO12MAR]花盆Flowerpot 单调队列

    https://www.luogu.org/problemnew/show/P2698 警示 用数组写双端队列的话,记得le = 1, ri = 0:le<=ri表示队列非空 题意 求一个最小的 ...

  9. 2018中国大学生程序设计竞赛 - 网络选拔赛 hdu Find Integer 数论

    Find Integer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  10. UVA 494 Kindergarten Counting Game map

    Everybody sit down in a circle. Ok. Listen to me carefully.“Woooooo, you scwewy wabbit!”Now, could s ...