周末放假没带电脑所以今天分享质量不高,手机没有那些样式看起来可能没有那么方便,今天主要分享一下websocket。

(赶紧拿小本本记下来)

websocket 你发现是一个组合单词web socket,web我们都知道,所以我们先说下socket,什么是socket它在c#里面是什么?

他在c#里面用于网络编程比如实时聊天,他的原理是什么呢?在我们没有用这种技术的时候我们想要实现不停的问服务器要资源我们使用的是轮询,什么是轮询呢?

(脑阔痛)

轮询 轮询就是循环的访问访问服务器,就是写一个循环发送我的请求,如果请求完成了,不管有没有数据给我,我再次发送,发送完了我又发送,这种模式就是轮询。

后面出现一种技术叫socket,但是在窗体程序很久很久以前就出来了,但是现在我们说的是web socket那么也是同样的道理,我们以前通过ajax来使用轮询进行访问请求数据库给我们数据,到现在使用web socket技术,我们只需要发送一次请求,告诉服务器"你好,我们这里一直要用数据,你有的话就给我们吧,没有的话你有了再发给我吧"这就是websocket的请求方式。 以前的请求方式比如[轮询]你不懂得话没关系我给你打个比方

{

客户端“你好,给我来鱼丸粗面”

服务器“没有鱼丸”

客户端“那给我来一碗鱼丸汤”

服务器“没有鱼丸,鱼丸还在买”

客户端“那给我来一碗粗面”

服务器现在有粗面“你好,您的粗面”

客户端“老板来点鱼丸”

服务器“没有,滚,下一位”

客户端“来点鱼丸”

服务器“没有鱼丸啊”

客户端“来点鱼丸”

服务器刚买到我鱼丸“哪切嘛,吃嘛鱼丸,胀死你”

客户端“老板来点。。。”

服务器“。。。”

}这种方式就是轮询,客户端不停的发送请求给服务器,请求服务器响应。

轮询 缺点:占用服务器资源如果人多服务器容易宕机。

socket:这种方式他就解决了这个问题,当服务器有数据直接推给客户端,这种场景就是qq或者是通知,有消息直接推送,不再让客户端一直请求,但是需要客户端发起请求命令才行。

(当时我大概写了这么多

浅谈websocket和c# socket(新手篇)的更多相关文章

  1. 【ASP.NET MVC系列】浅谈Google Chrome浏览器(操作篇)(下)

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  2. 浅谈Websocket、Ajax轮询和长轮询(long polling)

    浅谈Websocket.Ajax轮询和长轮询(long p0ll) 最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket W ...

  3. 浅谈WebSocket

    WebSocket是H5提出的为了解决客户端和服务器双工通信的方法.在我们使用HTTP协议通信时,客户端主动向服务器发送请求,得到服务器端数据.为了与服务器端数据保持一致,之前常用的有轮询和长轮询两种 ...

  4. 浅谈Linux环境下Socket选项的设置

    0.前言 TCP/IP协议栈是Linux内核的重要组成部分和网络编程的基石,虽然Linux和BSD有很大的联系,但是对于某些Socket选项和内核操作仍然存在差异,因此文中适用场景均为CentOS环境 ...

  5. 浅谈Websocket、Ajax轮询和长连接(long pull)

    最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket Websocket是HTML5中提出的新的协议,注意,这里是协议,可以 ...

  6. 浅谈Google Chrome浏览器(操作篇)(上)

    开篇概述 在上篇博客中详解Google Chrome浏览器(理论篇)一文中,主要讲解了Chrome 搜索引擎使用.Chrome安装和基本操作.Chrome 基本架构.多线程等原理性问题,这篇将重点讲解 ...

  7. 浅谈Google Chrome浏览器(理论篇)

    注解:各位读者,经博客园工作人员反馈,hosts涉及违规问题,我暂时屏蔽了最新hosts,若已经获取最新hosts的朋友们,注意保密,不要外传.给大家带来麻烦,对此非常抱歉!!! 开篇概述 1.详解g ...

  8. 【ASP.NET MVC系列】浅谈NuGet在VS中的运用

    一     概述 在我们讲解NuGet前,我们先来看看一个例子. 1.例子: 假设现在开发一套系统,其中前端框架我们选择Bootstrap,由于选择Bootstrap作为前端框架,因此,在项目中,我们 ...

  9. 【ASP.NET MVC系列】浅谈表单和HTML辅助方法

    [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...

随机推荐

  1. JAVA 8 主要新特性 ----------------(三)新功能Lambda表达式入门

    一.简述       Java为了扩充匿名方法在1.8中新追加的特性.本身Java之前的版本是没有匿名方法的,只有匿名对象. 二.使用        Java中使用匿名方法必须要对应接口中的一个抽象方 ...

  2. Java面试题3

    1.servlet执行流程 客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request.resp ...

  3. nginx启动或者重启失败,报错nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)

    第一种方案: 1. 执行命令 :open /usr/local/etc/nginx 打开nginx安装目录 nginx安装目录默认位置有:(找到适合你的) /etc/nginx/nginx.conf, ...

  4. List 接口中ArrayList Vector LinkedList 比较

    访问权限Arryist最快 其次Vector  最慢LinkedList

  5. FreeRTOS的内存管理

    FreeRTOS提供了几个内存堆管理方案,有复杂的也有简单的.其中最简单的管理策略也能满足很多应用的要求,比如对安全要求高的应用,这些应用根本不允许动态内存分配的. FreeRTOS也允许你自己实现内 ...

  6. Hadoop 系列文章(三) 配置部署启动YARN及在YARN上运行MapReduce程序

    这篇文章里我们将用配置 YARN,在 YARN 上运行 MapReduce. 1.修改 yarn-env.sh 环境变量里的 JAVA_HOME 路径 [bamboo@hadoop-senior ha ...

  7. POJ3422费用流

    Description: 一个N * N的奖赏地图,你可以走k次这个地图,但是每一次你走过一个有分的节点,你获得得分,但这个节点的得分都要清零,问你走k次地图的最大得分 Solution: 把得分变成 ...

  8. Nginx+Tomcat反向代理利用certbot实现https

    一.利用Let's Encrypt 免费生成HTTPS证书 1.下载安装certbot(Let's Encrypt ) 2.利用certbot生成证书 3.配置nginx的https证书 安装cerb ...

  9. zookeeper学习day01

    1.zkAPI:(借助闭锁来实现)    1)创建闭锁对象  2)创建zk对象  3)连接zk客户端(连接成功执行countDown方法)  4)执行await方法(保证链接成功) 5)zk对象调用对 ...

  10. utf-8 decode

    摘自 Lua 5.3 源文件 lutf8lib.c /* ** Decode one UTF-8 sequence, returning NULL if byte sequence is invali ...