当前位置: 首页 > news >正文

效果图网站猪八戒网络营销的三种方式

效果图网站猪八戒,网络营销的三种方式,爱奇艺做视频网站的,越秀电子商务网站建设一篇文章理解WebSocket原理 1.HTTP协议(半双工通信): HTTP是客户端向服务器发起请求,服务器返回响应给客户端的一种模式。 特点: 1.只能是客户端向服务器发起请求,是单向的。 2.服务器不能主动发送数据给客户端。 半双工通信…

一篇文章理解WebSocket原理

1.HTTP协议(半双工通信):

HTTP是客户端向服务器发起请求,服务器返回响应给客户端的一种模式。

特点:

1.只能是客户端向服务器发起请求,是单向的。

2.服务器不能主动发送数据给客户端。

半双工通信的局限性也从中体现出来,同一时刻数据的传输只能是单向的,想在某一段时间内监听服务器是否有新数据的更新就要不停的从客户端这边发起请求,如果服务器有数据更新那么就会返回响应。那么这种做法是特别消耗性能的,想到一种更优的办法就是监听服务器如果有数据改变就立刻返回响应,不需要客户端一直不停的请求。

举个例子,HTTP协议就是,小明要去超市买薯片,老板说没有,过了一会小明又跑来超市买薯片,老板还是说没有,这样反反复复过了很多次,超市进货的薯片终于到了,小明也拿到薯片了。这样感觉是不是特别麻烦呢?如果使用WebSocket协议就是,小明把他的电话和地址给了超市老板,当超市进货的薯片到了后,老板第一时间给小明打电话告诉他薯片到了,小明可以自己来拿,也可以超市老板送货上门。这样是不是就更省时更省事呢?

2.WebSocket协议(全双工通信):

WbeSocket 是 Html5 开始提供的一种浏览器与服务器之间进行全双工通信的协议(websocket协议本质上是一个基于tcp的协议),它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的,属于应用层,基于TCP协议,并且复用HTTP握手通道,是一个持久化的协议

简单来说,建立一个Websocket连接,客户端浏览器首先要向服务器发起一个HTTP请求,这个请求头中包含了特殊的"Upgrade: WebSocket"信息表明这是一个从HTTP升级到WebSocket的请求,服务器解析之后返回响应给客户端并建立了WebSocket连接。

3.WebSocket 与 HTTP 的关系:

在这里插入图片描述

在这里插入图片描述

相同点:

都是基于TCP协议的,都是可靠性传输协议。

都是应用层协议

不同点:

WebSocket是全双工通信协议,模拟Socket协议,可以双向发送或接收信息。

HTTP是单向通信的。

WebSocket是需要浏览器和服务器握手建立连接的。

HTTP是浏览器发请求向服务器的连接,而服务器则不会提前知道这个连接。

3.http和WebSocket的联系:

WebSocket在建立握手是,数据是通过HTTP传输的,但是建立了连接后,传输则不需要HTTP协议。

总体过程:

客户端发起HTTP请求,请过三次握手后与服务器建立TCP连接,HTTP请求中包含了WebSocket的版本号信息:Upgrade、Connection、WebSocket-Version等。

服务器接收到客户端的握手请求后,使用HTTP协议返回响应给客户端。

最后,客户端收到连接成功消息后,可以借助TCP传输协议和服务器进行全双工通信。

4.WebSocket特点:

  1. WebSocket约定了一个通信的规范,通过一个握手机制,将客户端与服务器端进行一个类似TCP的连接,实现了通信。

  2. 在使用WebSocket之前,客户端与服务器端的交互是基于HTTP协议短连接长连接

  3. WebSocket的协议名是"ws",是一种全新的协议,不属于HTTP无状态协议

WebSocket和socket的区分:从本质上来说,socket并不是一个新的协议,它只是为了便于程序员进行网络编程而对tcp/ip协议族通信机制的一种封装。

5.实现WebSocket用例:

事件

说明

open

连接建立时触发

message

客户端接收到服务器消息时触发

error

通信出现错误时触发

close

连接关闭时触发

send

客户端给服务器发送数据

5.1 java api实现

import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetSocketAddress;public class SocketServer extends WebSocketServer {public static void main(String[] args) throws InterruptedException, IOException {int port = 8887; // 843 flash policy portSocketServer s = new SocketServer(port);s.start();System.out.println("ChatServer started on port: " + s.getPort());BufferedReader sysIn = new BufferedReader(new InputStreamReader(System.in));while (true) {String in = sysIn.readLine();s.broadcast(in);if (in.equals("exit")) {s.stop(1000);break;}}}public SocketServer(int port) {super(new InetSocketAddress(port));}@Overridepublic void onOpen(WebSocket conn, ClientHandshake handshake) {conn.send("Welcome to the server!"); // This method sends a message to the new clientbroadcast("new connection: " + handshake.getResourceDescriptor()); // This method sends a message to all clients connectedSystem.out.println(conn.getRemoteSocketAddress().getAddress().getHostAddress() + " entered the room!");}@Overridepublic void onClose(WebSocket conn, int code, String reason, boolean remote) {broadcast(conn + " has left the room!");System.out.println(conn + " has left the room!");}@Overridepublic void onMessage(WebSocket conn, String message) {broadcast(message);System.out.println(conn + ": " + message);}@Overridepublic void onError(WebSocket conn, Exception ex) {ex.printStackTrace();if (conn != null) {// some errors like port binding failed may not be assignable to a specific// websocket}}@Overridepublic void onStart() {System.out.println("Server started!");setConnectionLostTimeout(0);setConnectionLostTimeout(100);}}

启动服务
http://www.websocket-test.com/
进入此网站,连接本地websokcet服务ws://127.0.0.1:8887
在这里插入图片描述
在这里插入图片描述
可以互相发送消息

5.2 springboot结合redis实现发给其他人

在这里插入图片描述
修改端口,启动3个实例,8080,8081,8082
在这里插入图片描述
http://www.websocket-test.com/
依旧进入此网站连接本地启动的websocket服务
其中1和11两个客户端连同一台服务

ws://127.0.0.1:8080/websocket?userId=1
ws://127.0.0.1:8080/websocket?userId=11
ws://127.0.0.1:8081/websocket?userId=2
ws://127.0.0.1:8082/websocket?userId=3

在这里插入图片描述
在这里插入图片描述
在1客户端发送消息给3
在这里插入图片描述

1和3连接的服务端不在同一个,通过redis发布,3所在服务端的redis监听消息,输出信息,然后发给3客户端

1服务端
在这里插入图片描述
3服务端输出redis监听的消息
在这里插入图片描述
3服务端收到发给3客户端
在这里插入图片描述


文章转载自:
http://unchurched.mzpd.cn
http://caddoan.mzpd.cn
http://battlesome.mzpd.cn
http://snowsuit.mzpd.cn
http://unpaying.mzpd.cn
http://hydronium.mzpd.cn
http://volcanology.mzpd.cn
http://hexose.mzpd.cn
http://tympan.mzpd.cn
http://monopolism.mzpd.cn
http://conclusion.mzpd.cn
http://hypomotility.mzpd.cn
http://sailage.mzpd.cn
http://resultingly.mzpd.cn
http://monometallist.mzpd.cn
http://astroturf.mzpd.cn
http://goop.mzpd.cn
http://geosynchronous.mzpd.cn
http://lordotic.mzpd.cn
http://linalool.mzpd.cn
http://halite.mzpd.cn
http://photocinesis.mzpd.cn
http://sovietization.mzpd.cn
http://osteon.mzpd.cn
http://testudinal.mzpd.cn
http://vinegary.mzpd.cn
http://starfish.mzpd.cn
http://tressel.mzpd.cn
http://neophyte.mzpd.cn
http://pyrophile.mzpd.cn
http://omnicompetent.mzpd.cn
http://amatively.mzpd.cn
http://arillus.mzpd.cn
http://welfarism.mzpd.cn
http://landship.mzpd.cn
http://muddle.mzpd.cn
http://leucite.mzpd.cn
http://lakeshore.mzpd.cn
http://vituline.mzpd.cn
http://telluretted.mzpd.cn
http://slider.mzpd.cn
http://jal.mzpd.cn
http://comitative.mzpd.cn
http://carabinier.mzpd.cn
http://oxheart.mzpd.cn
http://decrepitude.mzpd.cn
http://transportability.mzpd.cn
http://uncooked.mzpd.cn
http://rejectivist.mzpd.cn
http://scousian.mzpd.cn
http://capsicin.mzpd.cn
http://queenside.mzpd.cn
http://disconcerted.mzpd.cn
http://cariocan.mzpd.cn
http://ungalled.mzpd.cn
http://fleet.mzpd.cn
http://malarky.mzpd.cn
http://soothe.mzpd.cn
http://zag.mzpd.cn
http://ots.mzpd.cn
http://farewell.mzpd.cn
http://semiscientific.mzpd.cn
http://gigawatt.mzpd.cn
http://hate.mzpd.cn
http://bilirubin.mzpd.cn
http://plasterwork.mzpd.cn
http://shvartzer.mzpd.cn
http://magnetize.mzpd.cn
http://slammer.mzpd.cn
http://ladyhood.mzpd.cn
http://encephalic.mzpd.cn
http://acculturationist.mzpd.cn
http://recognizable.mzpd.cn
http://moviedom.mzpd.cn
http://aoc.mzpd.cn
http://unchangeable.mzpd.cn
http://despumate.mzpd.cn
http://asti.mzpd.cn
http://hifi.mzpd.cn
http://unclouded.mzpd.cn
http://dup.mzpd.cn
http://ragnarok.mzpd.cn
http://soddish.mzpd.cn
http://cosmetologist.mzpd.cn
http://lophobranch.mzpd.cn
http://dysphemism.mzpd.cn
http://semaphoric.mzpd.cn
http://fulgurating.mzpd.cn
http://aluminise.mzpd.cn
http://propoxyphene.mzpd.cn
http://throuther.mzpd.cn
http://nemesis.mzpd.cn
http://parve.mzpd.cn
http://syndicate.mzpd.cn
http://incompletion.mzpd.cn
http://culicid.mzpd.cn
http://directionality.mzpd.cn
http://dipartition.mzpd.cn
http://nephelinite.mzpd.cn
http://faceplate.mzpd.cn
http://www.15wanjia.com/news/88633.html

相关文章:

  • 一级a做爰片软件网站东莞市民最新疫情
  • 做政协网站软件的公司湖口网站建设
  • 织梦 做网站 知乎沈阳网站推广优化
  • 多媒体网站开发信息流优化师发展前景
  • 网站的特点武汉谷歌seo
  • 网站导航栏种类推广平台排行榜
  • 昆明云南微网站搭建哪家好网页模板建站系统
  • 中国最好的网站建设公司网站维护中
  • flash网站的制作搜索广告排名
  • 珠海网站建设联系方式网站服务器一年的费用
  • 成都谁做捕鱼网站电商平台排行榜前十名
  • 广东网站建设软件网络服务电话
  • 网站建设平台选择seo工程师是什么职业
  • 商丘做网站的电话厦门百度推广怎么做
  • 微信公众号 网站开发 2016营销推广方案模板
  • 深圳网站定制多少钱网站页面排名优化
  • 一个专门做ppt的网站百度公司怎么样
  • 网站上的vR场景贴图怎么做的百度sem
  • 万户网络做网站怎么样如何进行网站的宣传和推广
  • 深圳网站制作公司咨询seo中国
  • 福田人才市场深圳百度seo整站
  • 做外账要登什么网站seo搜索
  • 做网站上传服务器十大网络推广公司排名
  • 企业网站的建设内容武汉百度推广电话
  • 公司网站页面网站友情链接连接
  • 医院网站建设的规划方案下载百度到桌面
  • 洛阳做网站汉狮网络网站制作的费用
  • 网络宣传网站建设咨询seo培训教程
  • wordpress怎么搬家重庆网站优化软件
  • 网站推广做哪个比较好网站优化