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

制作自己网站有什么用如何做全景素材网站

制作自己网站有什么用,如何做全景素材网站,招聘网站建设工作总结,wordpress 301 sslWebSocket 协议给我们提供了一个创建可以支持客户端和服务端进行双向实时通信的web应用程序的方法。相比之前使用的方法#xff0c;WebSocket#xff08;作为HTML5的一部分#xff09;可以使我们更容易开的发出这种类型的应用程序。绝大多数的现代浏览器都支持WebSocketWebSocket作为HTML5的一部分可以使我们更容易开的发出这种类型的应用程序。绝大多数的现代浏览器都支持WebSocket包括火狐IEChromeSafari以及Opera等同时越来越多的服务端框架也开始支持WebSocket了。 对于企业应用来说我们需要多个WebSocket服务器来保障性能和高可用性因此我们迫切的需要对WebSocket协议进行负载均衡。NGINX自从1.3版本就开始支持WebSocket了并且可以为WebSocket应用程序做反向代理和负载均衡。 WebSocket 和HTTP协议不同但是WebSocket中的握手和HTTP中的握手兼容它使用HTTP中的Upgrade协议头将连接从HTTP升级到WebSocket。这使得WebSocket程序可以更容易的使用现已存在的基础设施。例如WebSocket可以使用标准的HTTP端口 80 和 443因此现存的防火墙规则也同样适用。 一个WebSockets的应用程序会在客户端和服务端保持一个长时间工作的连接。用来将连接从HTTP升级到WebSocket的HTTP升级机制使用HTTP的Upgrade和Connection协议头。反向代理服务器在支持WebSocket方面面临着一些挑战。一项挑战是WebSocket是一个hop-by-hop协议所以当代理服务器拦截到一个客户端发来的Upgrade请求时它(指服务器)需要将它自己的Upgrade请求发送给后端服务器也包括合适的请求头。此外由于WebSocket连接是长时间保持的所以代理服务器需要允许这些连接处于打开状态而不是像对待HTTP使用的短连接那样将其关闭。 NGINX 通过在客户端和后端服务器之间建立起一条隧道来支持WebSocket。为了使NGINX可以将来自客户端的Upgrade请求发送给后端服务器Upgrade和Connection的头信息必须被显式的设置。如下所示 location /wsapp/ {proxy_pass http://wsbackend;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection upgrade; }   一旦我们完成以上设置NGINX就可以处理WebSocket连接了。 NGINX Websockets 举例 这里有一个展示NGINX如何为WebSocket做代理的实例。这个例子将会使用node.js上的一个实现了WebSocket的模块——ws。这个示例在Ubuntu 13.10 和 CentOS 6.5上测试通过但对于其他系统来说也许需要稍作修改。就这个例子来说WebSocket服务器的IP地址是192.168.100.10NGINX服务器的IP地址是192.168.100.20。如果你还没有安装node.js和npm你可以通过以下命令安装 对 Debian/Ubuntu 来说 sudo apt-get install nodejs npm 对 RHEL/CentOS 来说 sudo yum install nodejs npm 在Ubuntu上node.js会被安装为 nodejs在CentOS中被会安装为node。我们在这例子中统一使用node所以我们将会在Ubuntu上创建一个连接来允许我们使用“node” ln -s /usr/bin/nodejs /usr/local/bin/node 然后安装 ws: sudo npm install ws 注意如果你得到了一个错误“Error: failed to fetch from registry: ws” 那么运行下面的命令应该能解决这个问题 sudo npm config set registry http://registry.npmjs.org/ 接下来你可以再次运行 sudo npm install ws ws命令来自/root/node_modules/ws/bin/wscat我们将会把它当做我们的客户端但是我们需要创建一个程序来做我们的服务端。将下面的代码保存到一个server.js文件中 console.log(Server started); var Msg  ; var WebSocketServer  require(ws).Server, wss  new WebSocketServer({port: 8010});wss.on(connection, function(ws) {ws.on(message, function(message) {console.log(Received from client: %s, message);ws.send(Server received from client:   message);});});   这个程序可以通过下面的命令执行 node server.js 该程序会输出一条初始化消息“Server started”之后监听8010端口等待客户端的连接。它会处理收到的所有请求并且将接收到的消息输出在控制台之后向客户端返回一条包含该消息的消息。我们希望NGINX去代理这些请求通过下面的配置便可实现 map $http_upgrade $connection_upgrade {default upgrade; close; }   upstream websocket {server 192.168.100.10:8010; }   server {listen 8020;location / {proxy_pass http://websocket;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection Upgrade;} }   上面的配置会使NGINX监听8020端口并把接收到的任何请求传递给后端的WebSocket服务器以便恰当的处理WebSocket协议。我们可以使用wscat作为客户端来测试一下 /root/node_modules/ws/bin/wscat –connect ws://192.168.100.20:8020 上面的命令会通过NGINX代理服务器和WebSocket服务器建立连接你可以输入你想要发送给服务器的消息之后服务器会返回一条消息。每当你输入一条消息你应该可以在服务端看到该消息的输出之后在客户端会显示一条来自服务端的消息。 这是一个交互示例: 由此我们可以看到服务端与客户端能够通过作为代理的NGINX通信 而且消息可以持续进行双向传输直到客户端或服务端断开连接。为了能使NGINX正确处理WebSocket 只需正确地设置消息头来处理更新从http到WebSocket连接的Upgrade请求。 转载于:https://www.cnblogs.com/youlechang123/p/6774032.html
http://www.huolong8.cn/news/151531/

相关文章:

  • 阳江网站制作公司100个免费推广网站下载
  • 单页移动网页建站教程好看的美食怎么做视频网站
  • 手机端网站开发流程开网店需要自己做网站吗
  • 网站突然搜不到了网站搜索
  • 网站快速建设程序抖音代运营收费详细价格
  • 网站侧面菜单展开怎么做网站关键词排名优化应该怎么做
  • 一叶子电子商务网站建设策划书wordpress 常用标签
  • 怎么做qq代刷网站wordpress自定义表情
  • 制作电子商务网站页面昆山 网站建设
  • 建设银行网站修改密码老君山旅游网页设计模板
  • 网站alt标签中国建设银行网站首页手机银行
  • 网站需备案吗系部网站建设方案
  • 石家庄市市政建设工程公司网站哈尔滨一个好网站建设
  • 一品楼企业网站seo最好方法
  • 台州律师网站建设淮安市建设厅网站
  • 织梦高端大气网站模板合肥做app公司
  • 网站建设与思想阵地建立网站需要多少人
  • 庆云网站建设企业推广的渠道有哪些
  • 潍坊做网站哪家好专业网站建设全包
  • 做网站联系我们在那个板块里面电商平台建设做网站
  • html5微网站模板最近最新手机中文大全4
  • 晋城网站建设公司制作小程序的平台
  • 有哪些搜索引擎网站开封市建设中专网站
  • 线上培训机构排名前十佛山网站seo
  • 学校部门网站建设情况汇报桐城市美丽乡村建设专题网站
  • 网站建设与推广 范文长沙人才招聘网
  • 软件项目管理论文3000字搜索引擎优化的方法有哪些?
  • asp.net mvc5网站开发之美 pdf做网站总结作文
  • 网站建设页面设计规格设计公司网站运营
  • 建站网站和维护需要会什么区别net域名做企业网站怎么样