客户端服务器

Tomcat架设简单Websocket服务器

这一生的挚爱 提交于 2020-03-24 12:25:00
环境: jdk 8 eclipse-oxygen tomcat 7.088 在eclipse里建一个maven project 项目 点击Next 如上图,选那个maven-archetype-webapp,点Next 在Group Id和Artifact Id处写名字,自己起,点Finish 这样就建好了,先别管报错 打开pom.xml,往里加内容 加入: <dependency> <groupId>javax.websocket</groupId> <artifactId>javax.websocket-api</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> 再来解决报错的问题 先在你的项目下新建个folder,libs 找到你的 tomcat目录/lib/ 把上图中标示的两个jar包:serverlet-api.jar websocket-api.jar考到你刚建的libs文件夹中 然后把这两个jar包Add to Build Path 这样就不报错了,也就是说Websocket服务端开发的准备OK了。 下面就开始写服务端了 用的是注解注入,一个脚本就OK package com.r.server; import java.io.IOException; import java

servlet的执行原理与生命周期

依然范特西╮ 提交于 2020-03-24 08:12:15
3 月,跳不动了?>>> 一、先从servlet容器说起:大家最为熟悉的servlet容器就是Tomcat ,Servlet 容器是如何管理 Servlet? 先看一下tomcat的容器模型: 从上图可以看出 Tomcat 的容器分为四个等级,真正管理Servlet 的容器是Context 容器,一个 Context 对应一个 Web 工程 Tomcat 的容器等级中,Context 容器是直接管理 Servlet 在容器中的包装类Wrapper(StandardWrapper)的容器,所以 Context 容器如何运行将直接影响 Servlet 的工作方式。 这里解释一下servlet的包装类:StandardWrapper,这里有个疑问,为什么要将 Servlet 包装成 StandardWrapper 而不直接是 Servlet 对象。因为StandardWrapper 是 Tomcat 容器中的一部分,它具有容器的特征,而 Servlet 为一个独立的 web 开发标准,不应该强耦合在 Tomcat 中。 除了将 Servlet 包装成 StandardWrapper 并作为子容器添加到 Context 中,其它的所有 web.xml 属性都被解析到 Context 中,所以说 Context 容器才是真正运行 Servlet 的 Servlet 容器。一个 Web

网络-路由交换-网络安全-华为-DHCP基础

孤街醉人 提交于 2020-03-24 06:20:48
DHCP 一、DHCP基础 DHCP客户端、服务器、中继器 1、 报文种类 共8种(主要是前面7种类型),discover、offer、request、ACK、NAK、release、decline、inform。 DHCP报文格式(华为路由器学习指南354页) 二、基于全局的HCP地址池配置 1、基本配置 System-view IP pool name Network ip-address~mask // 网络号与掩码 Lease {day hour minute } unlimited // 指定客户端可以无限期使用该地址 Excluded-ip-address (起始IP) (结束IP) Gateway-list IP-address & <1---8> // 指定网关地址,同网段的,以空格分隔,最多8个 Static-bind ip-address IP mac-address MAC // 静态绑定客户端) Next-server IP // 获取地址完成后,下一步提供配置信息的服务器地址 Vpn-instance name // 配置地址池下的VPN实例) Lock // 锁定客户端正在使用的IP地址,当进行网关设备切换时使用 2、 将接口与全局地址池绑定 Dhcp enable Interface e0/0/0 IP address IP mask Dhcp

python学习Day33--SocketServer

我与影子孤独终老i 提交于 2020-03-23 17:22:03
一、回顾(需要记住的) 1、架构:   C/S架构:充分发挥PC机性能   B/S架构:统一了应用的接口,隶属于C/S架构 2、物理地址:mac,全球唯一,类似于一个身份证 3、IP地址:四位点分十进制 4、arp协议:通过目标的IP地址,获取目标mac地址 5、OSI五层模型:   应用层 http, https, ftp, py文件   传输层 tcp/udp协议   网络层 ip协议   数据链路层 arp协议   物理层 传输电信号 6、交换机的通信方式:   单播:点对点   组播:点对多(一组,不是指所有)   广播:向多个PC端发送数据包 7、交换机的功能:   组成局域网,经过内部处理解析数据,将数据以点对点,点对多的方式发送给目标 8、路由器的功能:   跨网段的数据传输,路由出网络传输的最佳路径。 9、TCP协议:面向连接的,面向字节流传输,可靠   UDP协议:无连接,面向数据包,不可靠,传输速度快 10、TCP与UDP协议的区别:   TCP有三次握手,四次挥手   (1)三次握手:第一次的请求一定是客服端先发起     客服端向服务器发送一个连接请求;     客服端回复一个确认接收到请求,并要求连接客服端;     客服端回复服务器一个确认连接的消息,   (2)四次挥手:谁先发起都可以     客服端先发送一个断开连接的请求;    

SSH 端口转发

人盡茶涼 提交于 2020-03-23 09:37:44
SSH 端口转发功能能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。其实这一技术就是我们常常听说的隧道(tunnel)技术,原因是 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输。 我们知道,FTP 协议是以明文来传递数据的。但是我们可以让 FTP 客户端和服务器通过 SSH 隧道传输数据,从而实现安全的 FTP 数据传输。 更常见的情况是我们的应用经常被各种防火墙限制。常见的有禁止访问某些网站、禁用某类软件,同时你的所有网络行为都被监控并分析!同样的通过 SSH 隧道技术我们完全可以规避这些限制。 如上图所示,通过 SSH 的端口转发, 应用程序的客户端和应用程序的服务器端不再直接通讯,而是转发到了 SSH 客户端及 SSH 服务端来通讯。这样就可以同时实现两个目的:数据的加密传输和穿透防火墙! 在具体的使用场景中,端口转发又被细分为本地端口转发、远程端口转发、动态端口转发等。本文将详细的介绍其技术原理及使用方法。 本地端口转发 假设我们有一台主机 B,上面运行着 smtp 服务器,监听的端口号为 25,但是只监听了 localhost 网络接口。也就是说只有运行在主机 B 上的邮件客户端才能与 smtp 服务器建立连接。此时另外一台主机 A 上的邮件客户端如果想要通过主机 B 上的 smtp 服务器收发邮件该怎么设置呢

WebSocket 介绍

纵然是瞬间 提交于 2020-03-23 09:36:09
WebSocket 概述 WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信-允许服务器主动发送信息给客户端。 背景 在WebSocket出现之前,客户端和服务端之间双工通信的web app是采用以下方式实现的: HTTP轮询 长轮询(long polling) 何为轮询? 轮询 是一种定时的同步调用,客户端向服务器发送请求查看是否有可用的新信息。请求以固定的时间间隔发出,不管是否有信息,客户端都会得到响应;如果有可用信息,服务器发送这些信息;如果没有可用信息,服务器返回一个拒绝响应,客户端关闭连接。 何为长轮询? 长轮序 是另一种流行的通信方法,客户端向服务器请求信息,并在设定的时间段内打开一个连接。服务器如果没有任何信息,会保持请求打开,直到有客户端可用的信息,或者直到指定的超时时间用完为止。这时,客户端重新向服务器请求信息。长轮询也称作Comet或者反向AJAX。Comet延长HTTP延长HTTP响应的完成,直到服务器有需要发送给客户端的内容,这种技术常常成为“挂起GET”或“搁置POST”。 长轮询的流程 AJAX 的出现使得 JavaScript 可以调用 XMLHttpRequest 对象发出 HTTP 请求,JavaScript 响应处理函数根据服务器返回的信息对 HTML 页面的显示进行更新。使用 AJAX 实现“服务器推

Tomcat

北城以北 提交于 2020-03-23 00:07:55
1,Tomcat介绍 Tomcat是apache软件基金会项目中的一个核心项目,有apache和sun其他一些公司及个人共同开发而成的。 Tomcat服务器是一个免费的开源的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不多的场合下被普遍使用,是开发和调试jsp程序的首选。 可以这样认为,当一台服务器配置好apache服务器以后,可以利用apache服务器来响应我们的html页面的访问请求,而tomcat是apache服务器的扩展,当你运行tomcat的时候实际上是作为一个apache独立的进程单独运行的,apache服务器为html页面提供服务的,而tomcat是运行jsp页面和servlet,另外tomcat也能具有处理html页面的功能,但是处理静态的能力没有apache处理好。 jsp:java服务器页面,是一个简化的servlet设计,在传统的html页面里面增加了java代码; jsp=“html+java代码+jsp标签” 2,tomcat组件 servlet(应用程序或者容器)是java提供的用于开发web服务器应用程序的一个组件,运行在服务器端,有servlet用于生成动态页面内容,servlet是平台读立的java类,编写一个servlet,实际上就是安装servlet规范编写一个java类。 2.1,什么是servlet?

手把手带你了解三次握手,四次挥手

[亡魂溺海] 提交于 2020-03-21 18:24:23
为什么要三次握手: ① 防止失效的链接到达服务器服务器打开错误链接。 ② 客户端如果长时间等待,会有一个超时重传,但是之前那个被耽误的请求还是会回到服务器,服务器会打开两个连接。 ③ 有三次握手后客户端会忽视滞留请求。 为什么要四次挥手。 ① 当客户端发送连接释放报名后,服务器端数据可能还没有 传输完。 为什么客户端接收了FIN报文还要等2msl,而非直接 closed? ① 确保最后一个确认能到达服务器, ② 让本次连接持续时间内产生的所有报文都在网络上消失,不影响下一次连接。 (我的字为什么这么丑,一定是ipad的锅) 来源: https://www.cnblogs.com/crushxz/p/12539996.html

运维自动化系统部署

佐手、 提交于 2020-03-21 12:35:04
运维自动化之系统部署 cobbler 所谓调度器当用户访问量特别大的时候我们那单台服务器已经无法对外提供足够的服务能力,性能达不到要求这时候我们会多买几台服务器,但是用户去访问就不知该去访问哪个服务器所以这时候就需要有一个前端的调度器来分配用户访问那一个服务器。在企业对外服务的时候这些服务器会分组。外面有总的调度器在里面在分子调度器层层调度,当然为了加上访问通常我们是离不开缓存的。 anaconda tui安装程序 安装启动过程文字解析 光盘之所以能够启动启起来那就是因为这两个文件(isolinux/boot.cat)(isolinux/isolinux.bin)也具有启动功能。 在安装光盘启动的时候,光盘启动有一个菜单,这个菜单能够让用户正常安装或者进入救援模式。菜单配置文件:isolinux/isolinux.cfg 每个对应的菜单选项: 加载内核:isolinuz/vmlinuz 向内核传递参数:append initrd=initrd.img ... 所以光盘在启动的时候实际上也是加载了小的linux光盘之所以能启动起来能启动一个安装向导因为背后他也启动了一个自己的内核也启动initrd.img这样的一些文件就和操作系统启动一个意思。不过他的启动目标不是为了启动一个操作系统而是为了加载一个安装向导。但是安装向导终究是一个软件而这个软件要跑到操作系统上

心跳包机制设计详解 转载

北慕城南 提交于 2020-03-21 10:53:15
转载: https://mp.weixin.qq.com/s?__biz=MzU2MTkwMTE4Nw==&mid=2247487168&idx=1&sn=e1cc38cae47b0ea86d66d64cb081e8a3&chksm=fc70f52ccb077c3a42b4c51919bec6b77a9a26bee7840a8a5529c286f7430ecfd56e65eb133d&scene=21#wechat_redirect 存在下面两种情形: 情形一 :一个客户端连接服务器以后,如果长期没有和服务器有数据来往,可能会被防火墙程序关闭连接,有时候我们并不想要被关闭连接。例如,对于一个即时通讯软件,如果服务器没有消息时,我们确实不会和服务器有任何数据交换,但是如果连接被关闭了,有新消息来时,我们再也没法收到了,这就违背了“即时通讯”的设计要求。 情形二 :通常情况下,服务器与某个客户端一般不是位于同一个网络,其之间可能经过数个路由器和交换机,如果其中某个必经路由器或者交换器出现了故障,并且一段时间内没有恢复,导致这之间的链路不再畅通,而此时服务器与客户端之间也没有数据进行交换,由于 TCP 连接是状态机,对于这种情况,无论是客户端或者服务器都无法感知与对方的连接是否正常,这类连接我们一般称之为“死链”。 情形一 中的应用场景要求必须保持客户端与服务器之间的连接正常