服务器类型

进程间通信之------- 命名管道

混江龙づ霸主 提交于 2020-03-04 05:48:07
我们知道管道包括三种: 1):普通管道PIPE,通常有很多限制,一是半双工,只能单向传输,二是只能在父子进程间使用 2):流管道:这种能双向传输,但是也是只能父子进程间使用。 3):命名管道,去除了以上的第二种限制,可以在许多不相关的进程间进行通讯。也是半双工的通信方式。 但是通常我们把管道分为匿名管道和命名管道。但对于匿名管道的话,只能在本机上进程之间通信,而且只能实现本地的父子进程之间的通信,局限性太大了。而这里介绍的命名管道,就和匿名管道有些不同了,在功能上也就显得强大许多,至少其可以实现跨网络之间的进程的通信,同时其客户端既可以接收数据也可以发送数据,服务器端也是可以接收数据,又可以发送数据。 匿名管道的概述    对于匿名管道而言,命名管道使用了windows安全机制,因而命名管道的服务器端可以控制哪些客户有权与其建立连接。哪些客户端是不能够与这个命名管道建立连接的。命名管道的通信是以连接的方式进行的,服务器创建一个命名管道对象,然后在此对象上等待连接请求,一旦客户连接过来,则两者都可以通过命名管道读或者写数据。   命名管道提供了两种通信模式:字节模式和消息模式。在字节模式下,数据以一个连续的字节流的形式在客户机和服务器之间流动。而在消息模式下,客户机和服务器则通过一系列不连续的数据单位,进行数据的收发,每次在管道上发出一个消息后,它必须作为一个完整的消息读入。

编写一篇博文介绍COOKIE和Session的原理及异同

不问归期 提交于 2020-03-03 18:17:53
一、什么是cookie 1.概念 Cookie是存储在客户机的文本文件,它们保存了大量轨迹信息。在servlet技术基础上,JSP显然能够提供对HTTP cookie的支持。 Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息 。 2.原理 通常有三个步骤来识别回头客: 服务器脚本发送一系列cookie至浏览器。比如名字,年龄,ID号码等等。 浏览器在本地机中存储这些信息,以备不时之需。 当下一次浏览器发送任何请求至服务器时,它会同时将这些cookie信息发送给服务器,然后服务器使用这些信息来识别用户或者干些其它事情。 二、什么是Session 1.概念 Session是一次浏览器和服务器的会话对象,session也是缓存,是内容,是块数据。我们访问网页使用的HTTP协议是无状态的,没有任何关系,快速的。所以我们如果想要关联客户的信息就需要一种办法能够把客户的信息联系在一起,这个方法就是cookie。但是cookie是把信息储存在用户本地,不安全又很容易的被修改。所以session就出现了,它储存在服务器上,通过它关联同一个用户的信息

远程桌面连接“发生身份验证错误。 无法连接到本地安全机构”解决方法

江枫思渺然 提交于 2020-03-03 16:53:21
症状 当试图建立远程桌面连接使用远程桌面服务器运行的是 Windows Server 2008 R2 为远程桌面客户端 (mstsc.exe),您可能会遇到任何这些消息: 无法完成连接,因为已达到远程计算机没有的指定。原因可能是 DNS 缓存中过期的条目。尝试使用计算机的 IP 地址而不名称。 或 发生身份验证错误。 无法连接到本地安全机构 原因 通常,此错误消息指向禁止到远程桌面服务器的安全连接的网络拥塞。但是,此错误消息也可能如果远程桌面服务器被配置为安全连接使用 TLS 和 TLS 在不支持尝试的 RDP 连接的客户端 (源计算机上)。 解决方案 在 Windows Server 2008 R2 中的远程桌面提供三种类型的安全连接: 协商:此安全方法使用 TLS 1.0 如果支持 TLS,则验证服务器的身份。如果不支持 TLS,则服务器未通过身份验证。 RDP 安全层:此安全方法使用远程桌面协议加密来帮助客户端计算机和服务器之间的安全通信。如果选择此设置时,服务器未通过身份验证。 SSL:此安全方法要求 TLS 1.0 服务器进行身份验证。如果不支持 TLS,则您无法建立与服务器的连接。此方法是仅当选择一个有效的证书可用。 要解决此问题,请更改RDP 安全层,以允许使用远程桌面协议加密的安全连接到远程桌面服务器上的远程桌面安全性。步骤如下: 1.进入开始>管理工具

远程桌面连接工具下载,这个官网很给力

落爺英雄遲暮 提交于 2020-03-03 12:03:03
远程桌面工具下载,这个官网很给力 IIS7站长之家:www.iis7.com IIS7远程桌面管理下载页面直达 拥有直观的界面为所有类型的用户设计,易于部署和在企业环境中使用,一键导入服务器信息。操作更加便捷,能够同时远 程多台服务器,多台服务器间自由切换,完全无压力,能够保存编辑删除你的远程服务器信息。   IIS7远程桌面:批量管理WIN系列服务器,VPS,电脑;批量导入服务器的IP,端口,账号和密码;批量打开N个服务器的远程桌面;远程桌面后,远程窗口右上角会出现 服务器备注的信息;远程桌面后,不影响任务栏显示。可以及时看其他窗口;自定义远程桌面窗口分辨率;定时监测服务器是否正常;服务器到期提醒;可选择是否加载本地硬盘、硬盘映射;可选择是否加载服务器的声音,远程声卡读取;可选择是否禁用本地复制到远程的功能;可选择标签式或窗口式批量远程。 来源: https://www.cnblogs.com/cclxm99/p/12401154.html

HttpContext

懵懂的女人 提交于 2020-03-03 09:36:13
https://www.cnblogs.com/DSC1991/p/8674960.html 一:HttpContext理论知识: 1:HttpContext类它对Request、Respose、Server等等都进行了封装,并保证在整个请求周期内都可以随时随地的调用;为继承 IHttpModule 和 IHttpHandler 接口的类提供了对当前 HTTP 请求的 HttpContext 对象的引用。该对象提供对请求的内部Request、Response 和 Server 属性的访问。HttpContext的命名空间:System.Web(在 system.web.dll 中);除了对几个对象进行封装外它还有个HttpContext.Item,通过它你可以在HttpContext的生存周期内提前存储一些临时的数据,方便随时使用。 2:生存周期:从客户端用户点击并产生了一个向服务器发送请求开始---服务器处理完请求并生成返回到客户端为止。针对每个不同用户的请求,服务器都会创建一个新的HttpContext实例直到请求结束,服务器销毁这个实例。 3:当我们创建一个一般处理程序Handler.ashx时,我们可以在文件中看到这一句 public void ProcessRequest (HttpContext context); 4:可以通过HttpContext

Postgres主从(4)复制视图

别说谁变了你拦得住时间么 提交于 2020-03-03 08:13:36
主服务器复制视图 SELECT * FROM pg_stat_replication; 列 类型 描述 pid integer 一个 WAL 发送进程的进程 ID usesysid oid 登录到这个 WAL 发送进程的用户的 OID usename name 登录到这个 WAL 发送进程的用户的名称 application_name text 连接到这个 WAL 发送进程的应用的名称 client_addr inet 连接到这个 WAL 发送进程的客户端的 IP 地址。 如果这个域为空,它表示该客户端通过服务器机器上的一个 Unix 套接字连接。 client_hostname text 连接上的客户端的主机名,由一次对client_addr 的逆向 DNS 查找报告。这个域将只对 IP 连接非空,并且只有在 log_hostname被启用时非空 client_port integer 客户端用来与这个 WAL 发送进程通讯的 TCP 端口号, 如果使用 Unix 套接字则为-1 backend_start timestamp with time zone 这个进程开始的时间,即客户端是何时连接到这个 WAL 发送进程的 backend_xmin xid 由hot_standby_feedback报告 的这个后备机的xmin水平线。 state text 当前的 WAL

絮叨机房精密空调的制冷剂

老子叫甜甜 提交于 2020-03-02 21:09:50
精密空调主要用来控制机房的温度和湿度。 在核心机房建设期间,一个空调的重量大约2千斤,需要12个人进行抬放安装,在安装结束后,进行了保压,加上制冷剂,在机房建设期间,由于电源不稳定,导致机房频频断电,从而每次在加电一分钟后,空调自动进行重启,进行制冷,在此时会出现一个警告开机的警告信息。 有一次在断电之后,空调自动重启,但是未能进行制冷,只能看到空调进行吹风的功能,从而导致核心机房内温度大幅度上升,服务器的轰鸣声真是难以忍受,顺便说下刀片机的风扇转动的速度不是一般的快,那就是一个机器马达在那吼叫,在服务器运行的过程中,普通的服务器还好,刀片机的声音真是出奇的大,原因在于刀片机的机箱就那么几个风扇了,电源模块分为两个,从而提供双路电源,但是在送电的时候,一个电源需要接入pdu中需要三个插座,从而才能提供刀片机的电源供应,从而导致了刀片机的风扇剧烈的吹动,所以也就导致了刀片机风扇的声音无与伦比了。 IBM hs23还是其他型号的刀片机,在一个刀片也就是一个服务器,公用了所有的资源,在一个刀箱中就有十几个刀片,从而整体运行的话,需要的动力也是比较多,从而使用电量比较多,从而风扇必须努力的工作,这也就是刀片机风扇声音最大的源头了。 在空调异常之后,温度上升最快的也就是存储了,ds8800占用了大约一个机柜的位置,总共是两个机柜,主要用于存储云平台的相关数据,由于存储太多

linux入门系列16--文件共享之Samba和NFS

∥☆過路亽.° 提交于 2020-03-02 13:09:24
前一篇文章“linux入门系列15--文件传输之vsftp服务”讲解了文件传输,本篇继续讲解文件共享相关知识。 文件共享在生活和工作中非常常见,比如同一团队中不同成员需要共同维护同一个文档,在windows环境下,通常会选用第三方协作工具,如腾讯文档,石墨文档等等。 之前讲解了基于ftp的文件传输,为何还会单独讲解文件共享呢?试想一下,假如我们要修改服务器上某个文件,如果使用ftp的话,需要先下载下来进行修改,然后在上传到服务器。这样是很繁琐的,这时候就可以使用文件共享来解决这个问题。 文件传输和文件共享有本质的区别,基于ftp协议的文件传输可以实现不同机器之间文件的传输和拷贝,会产生多个副本。而文件共享则只有一个副本,各个客户端连接到共享服务器操作的是同一份文件。 Linux环境下可以通过Samba服务或NFS服务来实现文件共享,下面分别进行介绍。 一、文件共享服务Samba 1.1 Samba概述 为了解决局域网内的文件和打印机等资源的共享问题,微软和英特尔与1987年共同制定了 SMB(Server Messages Block,服务器消息块)协议,这使得多个主机之间共享文件变得简单。 到了1991年,一个国外牛逼大学生 为了解决 Linux 系统 与 Windows 系统之间的文件共享问题,基于SMB协议开发出了SMBServer服务程序。它是一款开源的文件共享软件

Python面试重点(web篇)

青春壹個敷衍的年華 提交于 2020-03-02 12:53:36
1.写出常用的bootstrap的样式。 row:行 col- - :列(第一个 可以为xs[超小]/sm[小型]/md[中型]/lg[大型];第二个 必须为12以内的【列数】) col- -offset- :列偏移(第一个 同上,第二个 范围为1~11,表示把该列的左外边距(margin-left)增加 列) col- - - :列排序(第一个 同上,第二个 可以为push[向右]/pull[向左],第三个 范围是1~11【列数】) 排版 small:内联子标题 lead:引导主体副本 text- :文本样式( 可以为left[左对齐]/center[居中对齐]/right[右对齐]/muted[减弱文本] /primary/success/info/warning/danger /justify[自动换行]/nowrap[不换行] /lowercase[小写]/uppercase[大写]/capitalize[首字母大写] ) list-inline:列表置于同一行 表格 table:基本样式,只有横向分割线 table- :表格样式(*可以为triped[添加条纹]/bordered[添加边框]/hover[启用悬停]/condensed[更加紧凑]) tr/th/td:由active/success/info/warning/danger来改变背景颜色 table

前端+Django面试题

↘锁芯ラ 提交于 2020-03-02 12:53:05
### 第一部分 1.写出常用的bootstrap的样式。 ''' 栅格系统 表单 表格 图片 按钮 ''' 2.什么是响应式布局? ''' 一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动 互联网浏览而诞生的。 ''' 3. 请通过jQuery发送ajax请求。 ''' $.ajax({ url: "/login", data: {name: 'ccc'}, type: "POST", dataType: "json", success: function(data) { // data = jQuery.parseJSON(data); //dataType指明了返回数据为json类型,故不需要再反序列化 ... } }); ''' 4.JavaScript与this相关 ''' name = '老男孩'; info = { name: 'alex', age: 123, func: function(){ console.log(this.name); } } info.func() name = '老男孩'; info = { name: 'alex', age: 123, func: function(){ console.log(this.name); function f1() { console.log(this.name); }