周末放假没带电脑所以今天分享质量不高,手机没有那些样式看起来可能没有那么方便,今天主要分享一下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. 计算机网络一:OSI七层、TCP/IP五层与TCP/IP四层

    一.OSI网络七层                      

  2. bash编程-sed

    sed(Stream Editor)是Linux系统下的一个文本流编辑器,它将文本文件内容逐行读取到标准输出,并将此行内容写入模式空间(pattern space),然后按照给定的地址定界和命令处理匹 ...

  3. nginx 502错误 upstream sent too big header while reading response header from upstream

    原本的设置是 proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; 在这种配置下,使用fiddler进行抓包分 ...

  4. nlog 的手动配置

    使用nlog的时候,有时候需要手动配置.比如数据库链接和密码不配在文件里,或者统计配置在一个位置之类的. var config = new NLog.Config.LoggingConfigurati ...

  5. ASP.NET MVC下使用AngularJs语言(一):Hello your name

    新春节后,分享第一个教程. 是教一位新朋友全新学习ASP.NET MVC下使用AngularJs语言. 一,新建一个空的Web项目.使用NuGet下载AngularJs和jQuery.二,配置Bund ...

  6. 【接口时序】7、VGA接口原理与Verilog实现

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE 硬件平台: 1. FPGA型号:Xilinx公 ...

  7. C语言小程序——推箱子(窄字符和宽字符)

    C语言小程序——推箱子(窄字符Version) 推箱子.c #include <stdio.h> #include <conio.h> #include <stdlib. ...

  8. Http Header 之 Requests Header 和 Responses Header

    在开发中,经常会遇到对网络请求添加相应的头信息,下面我们梳理一下Http Header相关的内容. 一.Requests Header Header 解释 示例 Accept 指定客户端能够接收的内容 ...

  9. LeetCode:146_LRU cache | LRU缓存设计 | Hard

    题目:LRU cache Design and implement a data structure for Least Recently Used (LRU) cache. It should su ...

  10. 从零开始学 Spring Boot

    1.下载 spring-tool-suite https://spring.io/tools3/sts/legacy 2.解压运行 sts-bundle\sts-3.9.7.RELEASE\STS.e ...