浅谈websocket和c# socket(新手篇)
周末放假没带电脑所以今天分享质量不高,手机没有那些样式看起来可能没有那么方便,今天主要分享一下websocket。
(赶紧拿小本本记下来)
websocket 你发现是一个组合单词web socket,web我们都知道,所以我们先说下socket,什么是socket它在c#里面是什么?
他在c#里面用于网络编程比如实时聊天,他的原理是什么呢?在我们没有用这种技术的时候我们想要实现不停的问服务器要资源我们使用的是轮询,什么是轮询呢?
(脑阔痛)
轮询 轮询就是循环的访问访问服务器,就是写一个循环发送我的请求,如果请求完成了,不管有没有数据给我,我再次发送,发送完了我又发送,这种模式就是轮询。
后面出现一种技术叫socket,但是在窗体程序很久很久以前就出来了,但是现在我们说的是web socket那么也是同样的道理,我们以前通过ajax来使用轮询进行访问请求数据库给我们数据,到现在使用web socket技术,我们只需要发送一次请求,告诉服务器"你好,我们这里一直要用数据,你有的话就给我们吧,没有的话你有了再发给我吧"这就是websocket的请求方式。 以前的请求方式比如[轮询]你不懂得话没关系我给你打个比方
{
客户端“你好,给我来鱼丸粗面”
服务器“没有鱼丸”
客户端“那给我来一碗鱼丸汤”
服务器“没有鱼丸,鱼丸还在买”
客户端“那给我来一碗粗面”
服务器现在有粗面“你好,您的粗面”
客户端“老板来点鱼丸”
服务器“没有,滚,下一位”
客户端“来点鱼丸”
服务器“没有鱼丸啊”
客户端“来点鱼丸”
服务器刚买到我鱼丸“哪切嘛,吃嘛鱼丸,胀死你”
客户端“老板来点。。。”
服务器“。。。”
}这种方式就是轮询,客户端不停的发送请求给服务器,请求服务器响应。
轮询 缺点:占用服务器资源如果人多服务器容易宕机。
socket:这种方式他就解决了这个问题,当服务器有数据直接推给客户端,这种场景就是qq或者是通知,有消息直接推送,不再让客户端一直请求,但是需要客户端发起请求命令才行。
(当时我大概写了这么多
浅谈websocket和c# socket(新手篇)的更多相关文章
- 【ASP.NET MVC系列】浅谈Google Chrome浏览器(操作篇)(下)
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- 浅谈Websocket、Ajax轮询和长轮询(long polling)
浅谈Websocket.Ajax轮询和长轮询(long p0ll) 最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket W ...
- 浅谈WebSocket
WebSocket是H5提出的为了解决客户端和服务器双工通信的方法.在我们使用HTTP协议通信时,客户端主动向服务器发送请求,得到服务器端数据.为了与服务器端数据保持一致,之前常用的有轮询和长轮询两种 ...
- 浅谈Linux环境下Socket选项的设置
0.前言 TCP/IP协议栈是Linux内核的重要组成部分和网络编程的基石,虽然Linux和BSD有很大的联系,但是对于某些Socket选项和内核操作仍然存在差异,因此文中适用场景均为CentOS环境 ...
- 浅谈Websocket、Ajax轮询和长连接(long pull)
最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket Websocket是HTML5中提出的新的协议,注意,这里是协议,可以 ...
- 浅谈Google Chrome浏览器(操作篇)(上)
开篇概述 在上篇博客中详解Google Chrome浏览器(理论篇)一文中,主要讲解了Chrome 搜索引擎使用.Chrome安装和基本操作.Chrome 基本架构.多线程等原理性问题,这篇将重点讲解 ...
- 浅谈Google Chrome浏览器(理论篇)
注解:各位读者,经博客园工作人员反馈,hosts涉及违规问题,我暂时屏蔽了最新hosts,若已经获取最新hosts的朋友们,注意保密,不要外传.给大家带来麻烦,对此非常抱歉!!! 开篇概述 1.详解g ...
- 【ASP.NET MVC系列】浅谈NuGet在VS中的运用
一 概述 在我们讲解NuGet前,我们先来看看一个例子. 1.例子: 假设现在开发一套系统,其中前端框架我们选择Bootstrap,由于选择Bootstrap作为前端框架,因此,在项目中,我们 ...
- 【ASP.NET MVC系列】浅谈表单和HTML辅助方法
[01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...
随机推荐
- PMP:4.项目整合管理
内容中包含 base64string 图片造成字符过多,拒绝显示
- python 使用 sorted 对 列表嵌套元组的数据进行排序
在开发的过程可能会遇到这么一个需求,存在一个列表嵌套元组的数据: data = [(1, 'a'),(2, 'b'),(5, 'c'),(3, 'd'),(4, 'e')] 需要将这个列表按照元组的第 ...
- 4.html基础标签:表单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- javascript 内存模型
我对于 JavaScript 的内存模型一直都比较困惑,很想了解在操作变量的时候,JS 是如何工作的.如果你和我有同样的困惑,希望这篇文章能给你一些启发. 译文,喜欢原文的可以直接拉到底部 当我们声明 ...
- python循环语句详细讲解
想必大家都知道python循环语句吧,可以python循环语句有多种,比如for循环.while循环.if.else等等, 我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下 ...
- IDEA搭建SSM实现登录、注册,数据增删改查功能
本博文的源代码:百度云盘/java/java实例/SSM实例/SSM实现登录注册,增删改查/IDEA搭建SSM实现登录,注册,增删改查功能.zip 搭建空的Maven项目 使用Intellij id ...
- Source Insight函数调用关系显示设置
当我们需要设置source Insight的项目代码中函数调用关系时,可通过如下的设置来实现: 1.显示函数调用关系窗口 Source Insight工具栏中“View”—>“Relation ...
- python实现线性排序算法-计数排序
计数排序假定输入元素的每一个都是介于0到k之间的整数,此处K为某个整数,当k=O(n)时,计数排序的运行时间为O(n) 它的基本思想是:根据每个输入元素x确定小于x的元素个数,根据这个信息把x直接放到 ...
- C语言中几个常用数学计算函数ceil(), floor(), round()的用法
最近在实现算法的过程中,遇到了使用几个数学计算函数,感觉挺有意思,就记下来 方便以后使用. ceil(x)返回不小于x的最小整数值(然后转换为double型). floor(x)返回不大于x的最大整数 ...
- 昕有灵犀-xyFS私有文件云存储OSS服务
本工程为本人开发的开源项目,地址: https://gitee.com/475660/xyFS 介绍: 一站式企业私有文件服务.针对软件开发时提供的文件存储系统,对文件上传.下载.分类.分组.审计.统 ...