sec

WebSocket握手总结

故事扮演 提交于 2019-12-29 15:41:55
网址:http://blog.csdn.net/edwingu/article/details/44040961 WebSocket protocol 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。 原理 以前网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每隔1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏览器需要不断的向服务器发出请求,然而HTTP request 的header是非常长的,里面包含的有用数据可能只是一个很小的值,这样会占用很多的带宽。 在 WebSocket API,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。 握手协议 在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” (handshaking)。 该方案处在草案阶段,目前在使用的有两个版本,一个是以chrome为首的使用的version 13(目前最新),该版本出现在RFC6455中。另一个是以safari(包括桌面和移动版本)为首的使用的draft-ietf

09 完整性约束

心已入冬 提交于 2019-12-27 10:12:15
本节重点: not null 与 default unique primary auto_increment foreign key 一、介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性 主要分为: PRIMARY KEY (PK) #标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY (FK) #标识该字段为该表的外键 NOT NULL #标识该字段不能为空 UNIQUE KEY (UK) #标识该字段的值是唯一的 AUTO_INCREMENT #标识该字段的值自动增长(整数类型,而且为主键) DEFAULT #为该字段设置默认值 UNSIGNED #无符号 ZEROFILL #使用0填充 说明: #1. 是否允许为空,默认NULL,可设置NOT NULL,字段不允许为空,必须赋值 #2. 字段是否有默认值,缺省的默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值 sex enum('male','female') not null default 'male' #必须为正值(无符号) 不允许为空 默认是20 age int unsigned NOT NULL default 20 # 3. 是否是key 主键 primary key 外键 foreign key 索引 (index,unique...) 二、not

sql 1130 is not allowed to connect to this MySQL

纵然是瞬间 提交于 2019-12-10 04:20:06
例如,你想root使用123456从任何主机连接到mysql数据库的话。 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.03 sec) 来源: oschina 链接: https://my.oschina.net/u/234581/blog/300536

wrk安装测试

社会主义新天地 提交于 2019-12-09 15:16:50
下载源码,编译 git clone https://github.com/wg/wrk.git cd wrk make cp wrk /usr/local/bin/ 编辑post.lua文件 [hdfs@xydwtest01 ~]$ cat post.lua wrk.scheme = "http" wrk.method = "POST" wrk.path = "/safetycodec/algo/decode" wrk.headers["Content-Type"] = "application/json" wrk.body ='{"sid":778658278485754135,"serverName":"pro_stress_check","data":

websocket 协议简述

独自空忆成欢 提交于 2019-12-06 11:18:42
WebSocket 是一种网络通信协议, RFC 6455 定义了它的通信标准,属于服务器推送技术的一种 由于 HTTP 无状态、无连接、单向通信的特性,导致 HTTP 协议无法实现服务器主动向客户端发起消息,服务端的状态变化无法即时通知到客户端 WebSocket 连接允许客户端与服务端之间进行全双工通信,只需要一次建立连接就可以一直保持状态,避免了多次 HTTP 连接造成的浪费 基于多线程或多进程的服务器无法适用于 WebSocket ,因为它旨在打开连接,尽可能快的处理请求,然后关闭连接。任何实际的 WebSockets 服务端都需要实现一个异步服务器 简述 WebSocket 兼容 HTTP ,默认端口也是 80 和 443,握手阶段采用 HTTP 协议 协议标识符是 ws (如果加密则为 wss),服务器网址就是 URL WebSocket 握手 Client request GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== Sec-WebSocket-Protocol: chat, superchat Sec-WebSocket-Version: 13 Origin:

hdp部署HBase

点点圈 提交于 2019-12-06 08:41:20
Hive部署 mysql> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_mixed_case_count=0; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_number_count=3; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_special_char_count=0; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_length=3; Query OK, 0 rows affected (0.00 sec) mysql> create database hive; Query OK, 1 row affected (0.01 sec) mysql> CREATE USER 'hive'@'%' IDENTIFIED BY 'Aaron123456#'; Query OK, 0 rows affected

数据类型转换及描述统计

做~自己de王妃 提交于 2019-12-05 04:00:40
处理数据的时候往往需要对原始数据进行类型转换和预览等操作,下面介绍常用的处理预览和数据转换方法 预览:例: import pandas as pd sec_weather = pd.read_table(r'D:\weather.csv',sep=',') sec_weather.head() 如果只需要预览数据的几行信息,可以使用head方法和tail方法。head方法返回数据集的开头5行,tail方法返回数据集的末尾5行。 还可以进一步查看数据集有多少观测和多少变量,以及每个月变量都是什么数据类型。例如: print('数据集的行列数:\n',sec_weather.shape) print('各变量的数据类型:\n',sec_weather.dtypes) 通过得出的结论可以看出各数据的类型,可对各数据类型进行进行转换 例如: pd.to_datatime(sec_weather.xxx,format = '%Y年%m月') sec_weather.xxx.str[:-1].astype('float') sec_weather.dtypes 描述性统计 describe() sec_weather.describe() 通过基本的统计量(如最小值,均值,中位数,最大值等)描述数据的特征。 来源: https://www.cnblogs.com/tinglele527/p

MySQL Last_Errno: 1396

自闭症网瘾萝莉.ら 提交于 2019-12-04 20:12:30
MySQL 主备数据库切换报错1396处理方法,操作步骤如下: mysql> show slave status \G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 196.55.3.180 Master_User: repl Master_Port: 3311 Connect_Retry: 60 Master_Log_File: mysql-bin.000002 Read_Master_Log_Pos: 1674 Relay_Log_File: relay-log.000002 Relay_Log_Pos: 367 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: No Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno:

测试程序运行耗时(毫秒级的)---感觉蛮有意思的

孤街醉人 提交于 2019-12-03 11:59:12
最近的一个项目中用到了多进程,在和另外一个同事的进程间进行通信的时候会超时,需要测试在调用接口中的耗时。很少碰到这种需求,写下来留个纪念:)。 源码: struct timeval tv1, tv2; int lost_time = 0; gettimeofday(&tv1, NULL); //。。。。(程序运行中。。。。) gettimeofday(&tv2, NULL); if (tv2.tv_usec < tv1.tv_usec) { lost_time = 1000000 * (tv2.tv_sec - tv1.tv_sec - 1) + (1000000 - tv1.tv_usec + tv2.tv_usec); } else { lost_time = 1000000 * (tv2.tv_sec - tv1.tv_sec) + (tv2.tv_usec - tv1.tv_usec); } printf("start_audio Lost Time : %d(us)/n", lost_time); 来源: CSDN 作者: GavinFj 链接: https://blog.csdn.net/fjhyy/article/details/5644117

Base64 encoding for Sec-WebSocket-Accept value

匿名 (未验证) 提交于 2019-12-03 08:44:33
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: A while ago, I started experimenting with WebSockets with Node.js taking care of the backend. It was working fine, but now when I return the protocol has been updated and I can't get it to work properly anymore. Specifically, the problem is the Sec-WebSocket-Accept header. I seem to be doing something wrong when calculating it, although I can't really fathom what that might be. As far as I can tell, I'm following the instructions on Wikipedia to the dot. Here's my code: var magicString = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" ; var