服务器端开发

ios配置xmpp即时聊天-服务器端

丶灬走出姿态 提交于 2020-03-08 08:10:56
一、安装 到MySQL官网上 http://dev.mysql.com/downloads/mysql/ ,下载mysql可安装dmg版本 比如: Mac OS X ver. 10.7 (x86, 64-bit), DMG Archive 下载完的文件为:mysql-5.6.10-osx10.7-x86_64.dmg 1.点击,安装包里的 2.点击安装 安装好后,再系统偏好设置的其他里,会出现如下图标: 3.点击此图标,跳出对话框 点击Start MySQL Server按钮,启动mysql 二、打开终端,定义mysql别名 输入alias命令 alias mysql=/usr/local/mysql/bin/mysql 回车,再输入 alias mysqladmin=/usr/local/mysql/bin/mysqladmin 三、设置mysql root帐号的密码 mysqladmin -u root password 初始密码 2.如果设置完密码后,需要修改,执行命令 mysqladmin -u root -p password 最新密码 接着会提示输入密码,此时输入旧密码,回车 四、连接数据库 mysql -u root -p 然后提示输入密码,输入三中设置的初始密码 2.如果登陆远程主机上的mysql数据库 mysql -h 主机地址 -u 用户名 -p 用户密码 五

AJAX基础知识

只愿长相守 提交于 2020-03-07 05:28:17
注意:该总结借鉴了许多其他博客、书籍、论文(面向搜索引擎学习搬运工-.-|||) 目录 AJAX: JQuery: JSON: HTTP: AJAX: 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待、卡死状态; 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会被卡死。 AJAX(Asynchronous JavaScript and XML)即异步的JavaScript和XML。JavaScript是脚本语言,XML是可扩展标记语言用于存放数据信息。AJax就是利用JavaScript脚本访问数据的一种技术,不是新的编程语言,而是一种使用现有标准的新方法。AJAX 使网页实现异步更新,就是在不重新加载整个网页的情况下,对网页进行局部更新。页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到 服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回 给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面功能。Ajax的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器。像—些数据验证和数据处理等都交给Ajax引擎自己来做,

2020/03/05 03-查询表达式、Session-Cookie机制、JWT

空扰寡人 提交于 2020-03-07 04:32:31
模型操作也就是model类提供的操作能力,一般操作苏剧无非就是增删改查,CRUD,要学会再django中如何操作,提供了一个orm,这个orm提供了操作的东西,叫管理器对象,管理器对象是一个很特别的类,不能直接调用,这个实例是捆绑在model对象上的。 自己创建可以替换,也可以多替换几个 orm的操作就是将增删改查所有的方法操作换成sql语句,这个语句是交给orm来做的,orm更在乎对象和关系,,比如用外键描述关系。比如一对一,多对多。 对象是指面向对象的对象,用类和实例的方式描述大千世界,数据库是用关系模型来描述世界. 类对应表,类属性对应表字段。一行行记录对应一个个实例 操作和sqlalchemy很像,都是懒惰的方式,如果不使用就不查,减轻对数据库的负担,这样就让数据库的更多时间给别人使用。查询完会缓存,缓存在数据集里。 也可以使用第三方,把有意义的数据存放到里面进行缓存,redis可以设定缓存多长时间,或者到什么时候清除 切片也很懒惰,不用也不查,切片跟limit和offset语句是对应起来的,但是之间有个计算关系 过滤器,就是all,filter,一般很少用all,查询 了object.filter用的更多,后面再做切片,用filter的时候小于大于成了问题,不能用了,所以提供了新的语法lookup表达式。 使用主键的时候可以使用PK这个值。 提供了一些查询单个值的方式

客户端与服务器持续同步解析(轮询,comet,WebSocket)

廉价感情. 提交于 2020-03-05 15:57:31
在B/S模型的Web应用中,客户端常常需要保持和服务器的持续更新。这种对及时性要求比较高的应用比如:股票价格的查询,实时的商品价格,自动更新的twitter timeline以及基于浏览器的聊天系统(如GTalk)等等。由于近些年AJAX技术的兴起,也出现了多种实现方式。本文将对这几种方式进行说明,并用jQuery+tornado进行演示,需要说明的是,如果对tornado不了解也没有任何问题,由于tornado的代码非常清晰且易懂,选择tornado是因为其是一个非阻塞的(Non-blocking IO)异步框架(本文使用2.0版本)。 在开始之前,为了让大家有个清晰的认识,首先列出本文所要讲到的内容大概。本文将会分以下几部分: 普通的轮询(Polling) Comet :基于服务器长连接的“服务器推”技术。这其中又分为两种: 基于AJAX和基于IFrame的 流(streaming)方式 。 基于AJAX的 长轮询(long-polling)方式 。 WebSocket 古老的轮询 轮询最简单也最容易实现,每隔一段时间向服务器发送查询,有更新再触发相关事件。对于前端,使用js的setInterval以AJAX或者JSONP的方式定期向服务器发送request。 var polling = function(){ $.post('/polling', function(data,

服务器端文件分片合并的思考和实践

隐身守侯 提交于 2020-02-29 02:52:29
笔者在项目中处理大文件上传的需求,仿照七牛云存储的接口设计。然而,在服务器端文件合并时遇到了很大的问题:合并太慢。本文记录了当时的思路和解决的方案 大文件的需求 文件上传是个很常见的需求。尽管HTTP是基于TCP上层的协议,但是HTTP协议本身并不适合处理超大的请求体,文件上传有很大的稳定性问题,如果中途断开了,将前功尽弃。为了改善用户体验或者缓解服务器压力,通常会考虑将文件分成小片,将小片一个个上传,如果中途断开了也能从某个失败的小片开始继续上传。 在前端的处理上,对于Web页面,可以采用 plupload 作为上传组件,该组件支持html5、flash、sl等多种上传方式,因此,可以提供较好的浏览器兼容性。七牛云存储的 js-sdk 就是基于这个组件开发的。不过本文的重点并不是讨论前端技术,关于前端就到此为止。 服务器端的策略 既然文件被分成片上传,那么自然在服务器端需要将分片合并成原始的文件,那么这里存在两种策略 边传边合并:每上传一个分片,就将分片合并到文件的后面 传完一起合并:先将分片保存起来,客户端发起一个合并请求时,再将分片合并成一个文件 边传边合并 这种方式要注意: 由于HTTP的无状态性,这种方式需要客户端和服务器端维持一个标识。服务器端根据标识,才能知道分片应该向哪个目标文件Append 如果客户端中途停止上传,那么保存在服务器上的目标文件将成为垃圾文件

TCP和Http的区别

こ雲淡風輕ζ 提交于 2020-02-26 16:29:52
相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 握 手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连 接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”(过程就不细写 了,就是服务器和客户端交互,最终确定断开) 2、HTTP连接 HTTP协议即超文本传送协议

JavaWeb学习总结(十三)——使用Session防止表单重复提交

∥☆過路亽.° 提交于 2020-02-26 12:24:52
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交。 一、表单重复提交的常见应用场景 有如下的form.jsp页面 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML> 3 <html> 4 <head> 5 <title>Form表单</title> 6 </head> 7 8 <body> 9 <form action="${pageContext.request.contextPath}/servlet/DoFormServlet" method="post"> 10 用户名:<input type="text" name="username"> 11 <input type="submit" value="提交" id="submit"> 12 </form> 13 </body> 14 </html>   form表单提交到DoFormServlet进行处理 1 package xdp.gacl.session; 2 3 import java.io.IOException; 4 import javax.servlet

JSON与XML的区别比较

試著忘記壹切 提交于 2020-02-18 13:21:17
JSON与XML的区别比较 1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。 (2).JSON定义 JSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)体系的行为。这些特性使JSON成为理想的数据交换语言。 JSON基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。 2.XML和JSON优缺点 (1).XML的优缺点

Java Socket

Deadly 提交于 2020-02-12 09:15:23
什么是Socket Socket的概念很简单,它是 网络上运行的两个程序间双向通讯的一端,既可以接收请求,也可以发送请求,利用它可以较为方便地编写网络上数据的传递 。 所以简而言之,Socket就是进程通信的端点,Socket之间的连接过程可以分为几步: 1、服务器监听 服务器端Socket并不定位具体的客户端Socket,而是处于等待连接的状态,实时监控网络状态 2、客户端请求 客户端Socket发出连接请求,要连接的目标是服务端Socket。为此,客户端Socket必须首先描述它要连接的服务端Socket,指出服务端Socket的地址和端口号,然后就向服务端Socket提出连接请求 3、连接确认 当服务端Socket监听到或者说是接收到客户端Socket的连接请求,它就响应客户端Socket的请求,建立一个新的线程,把服务端Socket的描述发给客户端,一旦客户端确认了此描述,连接就好了。而服务端Socket继续处于监听状态,继续接收其他客户端套接字的连接请求 TCP/IP、HTTP、Socket的区别 这三个概念是比较容易混淆的概念,这里尽量解释一下三者之间的区别。 随着计算机网络体系结构的发展,OSI七层网络模型诞生了,这个模型把开放系统的通信功能划分为七个层次,一次完整的通信如下图: 每一层都是相互独立的,它利用其下一层提供的服务并为其上一层提供服务

win32下的socket编程

被刻印的时光 ゝ 提交于 2020-02-12 07:21:51
// socket.cpp : 定义控制台应用程序的入口点。 // //服务器端 //SOCKET连接过程   //根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。    //服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。   //客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。 //为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。    //连接确认:是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。 //而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。 //如何开发一个Server-Client模型的程序 //开发原理:    //服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。   // 客户端