服务器端

ASP.NET Core的实时库: SignalR简介及使用

断了今生、忘了曾经 提交于 2020-03-27 09:36:26
原文:https://www.cnblogs.com/cgzl/p/9515516.html#sig 大纲 本系列会分为2-3篇文章. 第一篇介绍了SignalR的预备知识和原理 本文介绍SignalR以及ASP.NET Core里使用SignalR . 本文的内容: 介绍SignalR 在ASP.NET Core中使用SignalR SignalR SignalR是一个.NET Core/.NET Framework的开源实时框架. SignalR的可使用Web Socket, Server Sent Events 和 Long Polling作为底层传输方式. SignalR基于这三种技术构建, 抽象于它们之上, 它让你更好的关注业务问题而不是底层传输技术问题. SignalR这个框架分服务器端和客户端, 服务器端支持ASP.NET Core 和 ASP.NET; 而客户端除了支持浏览器里的javascript以外, 也支持其它类型的客户端, 例如桌面应用. 回落机制 SignalR使用的三种底层传输技术分别是Web Socket, Server Sent Events 和 Long Polling. 其中Web Socket仅支持比较现代的浏览器, Web服务器也不能太老. 而Server Sent Events 情况可能好一点, 但是也存在同样的问题.

vss的安装配置

喜你入骨 提交于 2020-03-27 07:14:18
服务器端: 1。服务器端安装IIS(非Internet方式可不用) 2。安装VSS2005的服务器端(当然如果本地测试,客户端也同时装好了) 3。选择microsoft visual sourcesafe administration->open sourcesafe database->Create a new database->c:\vss2005(新建目录)->vss2005(默认)->local-modify-unlock-model->ok->open 4。添加一个普通用户A(是域就添加域用户,否则添加本地用户) 5。资源管理器中设置c:\vss2005的共享及安全页 添加共享,使用户A又足够权限 在安全页中,也添加A的足够权限//容易忽略的重要一步 6。转回的microsoft visual sourcesafe administration->打开刚才建立的database->server-config->钩选Enable SourceSafe Internet for this computer和Enable SourceSafe Internet for this database->ok (如果不是internet方式,该步不要) 客户端 1。安装vss2005 2。visual studio2005->option->源代码管理->选Microsoft

计算机网络课设之TCP通讯录

本小妞迷上赌 提交于 2020-03-25 07:33:13
这篇文章我主要是想对这学期末计算机网络课程设计所做的一个小项目也就是基于tcp协议的通讯录做一个总结梳理。项目的具体的代码实现是基于C语言,当然在此之前网上也有一些基于c++编写的tcp通讯录,原理都是相同的,最基本的还是如何灵活运用Socket套接字来发送和接受数据。因为之前并未系统学过有关socket通信的知识,所以在正式开始动手之前,博主还是查阅了一些相关的书籍,有了基本的知识储备,才能为后续的项目开发提供保障。废话不多说,开始进入正文。 开发环境:windows 10 开发工具: Visual Studio2017 1.首先要了解在 tcp/ip网络环境下的客户端主机和服务器端主机的通信流程。即C/S模型。客户端在需要提供服务时向服务端发出请求,服务端等待客户端提出请求,服务端始终运行,监听网络接口,收到client请求启动服务进程响应客户同时继续监听服务窗口,保证后续的client也能连接上服务。 2. 其次要掌握 tcp通信所需要的几个主要功能函数。这里可以参考 http://www.cnblogs.com/yuqiao/p/5786427.html 3.掌握面向连接的C/S程序的工作流程 服务端 : 在服务端首先使用 WSAStartup()函数检查系统协议栈使用情况 使用 socket()函数创建服务器端的通信套接口 使用 bind(

内网大文件上传详解及实例代码

感情迁移 提交于 2020-03-24 10:27:27
4GB以上超大文件上传和断点续传服务器的实现 随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。 但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基本的上传功能,然而在实际使用中会发现,这些基于脚本语言实现的上传功能模块性能很弱,一是不支持2GB以上的内容上传;二是无法支持断点续传;三是效率极低,单台服务器最多支持几十个并发上传连接。 当前我们要搭建一个运营级的视频服务平台,在尝试了各种产品均无法满足要求,因此最后花精力自主用C++语言实现了这一高性能上传服务器。 项目地址: http://git://10.168.4.241/up6/web/asp.net.git Hyper Upload Server 超级上传服务器 这是一款超级文件上传服务器,采用异步I/O架构,采用C++语言编码实现。它支持4GB以上超大文件上传和断点续传,支持Windows和Linux服务器平台,支持任意格式的文件上传,尤其适合大的视频网站应用。单台服务器支持1000并发上传进程,支持PC端和智能手机端主流的浏览器。 主要特性 1. 服务器端采用异步I/O架设设计,具有高性能I/O处理能力,尤其适用于超大文件上传; 2.

静态网页与动态网页的区别

淺唱寂寞╮ 提交于 2020-03-24 06:18:17
静态网页与动态网页的区别 学号:201631062509 姓名:杨菓 静态网页 :在网站设计中,纯粹HTML(标准通用标记语言下的一个应用)格式的网页通常被称为 " 静态网页 " ,静态网页是标准的HTML文件,它的文件扩展名是.htm、.html,可以包含文本、图像、声音、FLASH动画、客户端脚本和ActiveX控件及JAVA小程序等。静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。容易误解的是静态页面都是htm这类页面,实际上静态也不是完全静态,他也可以出现各种动态的效果,如GIF格式的动画、FLASH、滚动字幕等。 特点: 1.静态页面是写在服务器上的不能随时改动,静态是一次性写好放在服务器上进行浏览的,如果想改动,则必须在页面上修改,然后再上传服务起覆盖原来的页面,页面不能随时进行更改; 2.静态网页每个网页都有一个固定的URL,且网页URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”; 3.网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件; 4. 静态web无法链接数据库;

ajax返回乱码解决方案

风流意气都作罢 提交于 2020-03-23 12:06:53
解决。这次的应用中却无起作用了,经过多次的试验,客服端的编码应该绝对没有问题的。可以判断问题一定出在服务器端。稍微分析一下可知虽然服务器端指定了文件的编码格式,但对于服务器输出流就成为了怀疑的对象。由于使用MS SQL2000,采用unicode编码,所以返回数据给客户端将会出现unicode编码的中文在gb2312编码页面显示的问题。于是在服务器端输出流加一个HEADER:ASP程序中加入<%Response.Charset = "GB2312"%>即解决了这个问题。同样在php和jsp程序中的书写类似PHP:header('Content-Type:text/html;charset=GB2312'); JSP:response.setHeader("Charset","GB2312"); ajax产生乱码的原因整理如下1、xtmlhttp 返回的数据默认的字符编码是utf-8,如果客户端页面是gb2312或者其它编码数据就会产生乱码2、post方法提交数据默认的字符编码是utf-8,如果服务器端是gb2312或其他编码数据就会产生乱码解决办法有:1、若客户端是gb2312编码,则在服务器指定输出流编码2、服务器端和客户端都使用utf-8编码 来源: https://www.cnblogs.com/itecho/archive/2008/11/12/1331938.html

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 实现“服务器推

Ajax

牧云@^-^@ 提交于 2020-03-22 14:52:12
Ajax概述 什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随 意做其他事情,不会被卡死 Ajax的运行原理 页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到 服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回 给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面1 功能。 json数据格式(重要) json是一种与语言无关的数据交换的格式,作用: 使用ajax进行前后台数据交换 移动端与服务端的数据交换 Json的格式与解析 json有两种格式: 1)对象格式:{"key1":obj,"key2":obj,"key3":obj...} 2)数组/集合格式:[obj,obj,obj...] 例如:user对象 用json数据格式表示 {"username":"zhangsan","age":28,"password":"123","addr":"淄博"} List<Product> 用json数据格式表示 [{"pid":"10","pname":"小米4C"},{},{}] 注意:对象格式和数组格式可以互相嵌套 注意:json的key是字符串

zabbix 监控tomcat

余生颓废 提交于 2020-03-22 11:00:22
zabbix 监控tomcat server端 rpm -ivh jdk-8u20-linux-x64.rpm vi /etc/profile JAVA_HOME=/usr/java/jdk1.8.0_20 PATH=$PATH:$JAVA_HOME CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH source /etc/profile java -version cd /root/zabbix-2.0.6 ./configure --enable-java -prefix=/usr/local/zabbix/zabbix_java make&&make install vi /usr/local/zabbix/zabbix_java/sbin/zabbix_java/settings.sh LISTEN_IP="0.0.0.0" LISTEN_PORT=10052 START_POLLERS=5 vi /usr/local/zabbix/etc/zabbix_server.conf JavaGateway=127.0.0.1 JavaGatewayPort=10052 StartJavaPollers=5