网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力. Socket的英文原义是"孔"或"插座".作为BSD UNIX的进程通信机制,取后一种意思.…
Socket IO工具类: package com.test.util; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class SocketIO{ public static Da…
我走过最长的路,就是教主的套路#include <iostream> #include <string> using namespace std; class Fruit { public: double price; double weight; double income; virtual void input(){cin>>price>>weight;} virtual double total(){return income;} }; class A…
typescript 简洁使用 *做最简洁核心的记录,可以节约时间.再是提炼概括,理解归纳.便于日后查阅联想* > typescript原则之一: 对值所具有的结构进行类型检查 #### 基础类型 * boolean     `let isDone: boolean = false;`      * number     `let hexLiteral: umber = 7`      * string          `let name: string = 'bob'`      * anr…
java常用的数据结构一 集合框架主要就是Collection和Map: 1.Collection包含了List和Set两大分支. (1)List是一个有序的集合,每一个元素都有它的索引.第一个元素的索引值是0.List的实现类有ArrayList,LinkedList, Vector, Stack.(1)ArrayList ArrayList是一个动态数组,它允许任何符合规则的元素插入包括null.每一个ArrayList都有一个size=10,在每次向容器中增加元素的同时都会进行容量检查,一…
#include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> #include <vector> using namespace std; vector<int> v; vector<int>::iterator it; vector<int>::iterator te; int main() { int N; freop…
概念 缓存穿透 在高并发下,查询一个不存在的值时,缓存不会被命中,导致大量请求直接落到数据库上,如活动系统里面查询一个不存在的活动. 缓存击穿 在高并发下,对一个特定的值进行查询,但是这个时候缓存正好过期了,缓存没有命中,导致大量请求直接落到数据库上,如活动系统里面查询活动信息,但是在活动进行过程中活动缓存突然过期了. 缓存雪崩 在高并发下,大量的缓存key在同一时间失效,导致大量的请求落到数据库上,如活动系统里面同时进行着非常多的活动,但是在某个时间点所有的活动缓存全部过期. 常见解决方案 直…
一.概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议. TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(STream socket)的一种. UDP:用户数据报协议.UDP是一种无连接协议.UDP套接口是数据报套接口(datagram Socket)的一种. 二.TCP和UDP介绍 1)基本TCP客户—服务器服务器 服务器是指在网络环境下运行相应的应用软件,为网上用户提供…
一.概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议. TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(STream socket)的一种. UDP:用户数据报协议.UDP是一种无连接协议.UDP套接口是数据报套接口(datagram Socket)的一种. 二.TCP和UDP介绍 1)基本TCP客户—服务器服务器 服务器是指在网络环境下运行相应的应用软件,为网上用户提供…
转发(JAVA):http://blog.csdn.net/u010818425/article/details/53448817 一个简单的自定义通信协议(socket),http://blog.csdn.net/lincyang/article/details/6109076 http://vtrtbb.iteye.com/blog/849336 socket编程,实先数据包的转发,C语言版   https://zhidao.baidu.com/question/588813998.html…
一.概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议. TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(stream socket)的一种. UDP:用户数据报协议.UDP是一种无连接协议.UDP套接口是数据报套接口(datagram socket)的一种. 二.TCP和UDP介绍 1)基本TCP客户—服务器程序设计基本框架 说明:(三路握手)        1.客户端发…
一.概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议. TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(streamsocket)的一种. UDP:用户数据报协议.UDP是一种无连接协议.UDP套接口是数据报套接口(datagram socket)的一种. 二.TCP和UDP介绍 1)基本TCP客户—服务器程序设计基本框架 说明:(三路握手)         1.客户端发…
设置connect超时很简单,CSDN上也有人提到过使用select,但却没有一个令人满意与完整的答案.偶所讲的也正是select函数,此函数集成在winsock1.1中,简单点讲,"作用使那些想避免在套接字调用过程中被锁定的应用程序,采取一种有序的方式,同时对多个套接字进行管理"(<Windows网络编程技术>原话).使用方法与解释请见<Windows网络编程技术>. 在使用此函数前,需先将socket设置为非阻塞模式,这样,在connect时,才会立马跳过,…
简单点说: 阻塞就是干不完不准回来,    非组赛就是你先干,我现看看有其他事没有,完了告诉我一声 我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果TCP/IP协议栈没有足够的可用缓冲区来保存你Copy过来的数据的话...这时候就体现出阻塞和非阻塞的不同之处了:对于阻塞模式的socket send函数将不返回直到…
早期单机时代,一台电脑上运行多个进程,大家各干各的,老死不相往来.假如A进程需要一个画图的功能,B进程也需要一个画图的功能,程序员就必须为两个进程都写一个画图的功能.这不是整人么?于是就出现了IPC(Inter-process communication,单机中运行的进程之间的相互通信).OK,现在A既然有了画图的功能,B就调用A进程上的画图功能好了,程序员终于可以偷下懒了. 到了网络时代,大家的电脑都连起来了.以前程序只能调用自己电脑上的进程,能不能调用其他机器上的进程呢?于是就程序员就把IP…
一 SELinux背景知识 SELinux出现之前,Linux上的安全模型叫DAC,全称是Discretionary Access Control,翻译为自主访问控制.DAC的核心思想很简单,就是: 进程理论上所拥有的权限与执行它的用户的权限相同.比如,以root用户启动Browser,那么Browser就有root用户的权限,在Linux系统上能干任何事情. 显然,DAC太过宽松了,所以各路高手想方设法都要在Android系统上搞到root权限.那么SELinux如何解决这个问题呢?原来,它在…
简单点说: 阻塞就是干不完不准回来,    非组赛就是你先干,我现看看有其他事没有,完了告诉我一声 我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果TCP/IP协议栈没有足够的可用缓冲区来保存你Copy过来的数据的话...这时候就体现出阻塞和非阻塞的不同之处了:对于阻塞模式的socket send函数将不返回直到…
转自:http://www.jb51.net/article/19751.htm socket 是网络连接端点. 一.网络知识的一些介绍 socket 是网络连接端点.例如当你的Web浏览器请求www.jb51.net上的主页时,你的Web浏览器创建一个socket并命令它去连接 www.jb51.net的Web服务器主机,Web服务器也对来自的请求在一个socket上进行监听.两端使用各自的socket来发送和 接收信息. 在使用的时候,每个socket都被绑定到一个特定的IP地址和端口.IP…
一.概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议. TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(stream socket)的一种. UDP:用户数据报协议.UDP是一种无连接协议.UDP套接口是数据报套接口(datagram socket)的一种. 二.TCP和UDP介绍 1)基本TCP客户—服务器程序设计基本框架 说明:(三路握手)        1.客户端发…
一.网络知识的一些介绍 socket 是网络连接端点.例如当你的Web浏览器请求www.jb51.net上的主页时,你的Web浏览器创建一个socket并命令它去连接 www.jb51.net的Web服务器主机,Web服务器也对来自的请求在一个socket上进行监听.两端使用各自的socket来发送和 接收信息. 在使用的时候,每个socket都被绑定到一个特定的IP地址和端口.IP地址是一个由4个数组成的序列,这4个数均是范围 0~255中的值(例如,220,176,36,76):端口数值的取…
如图: 思路: ①首先创建服务器端Socket,指定并侦听某一个端口,然后循环监听开始等待客户端的连接…. ②创建客户端socket,指定服务器地址和端口,然后获取输出流,向服务器端发送请求,并关闭socket输出流. ③服务端接收到客户端的请求后,创建新线程并启动. ④创建线程处理类,执行线程操作,获取输入流,服务端读取客户端用户详情,关闭资源. ⑤执行线程操作,获取输出流,响应客户端请求,客户端接受到服务端的响应,关闭资源. 简单点讲,就相当于我跟你说话(客户端→服务端),你收到我说的话(服…
1. brew install mysql 2. 启动mysql mysql.server start 我遇到了这个error,查openstack解决,我在这粘一下 ### Error:Can't connect to local MySQL server through socket homebrew When you got the server running via mysql.server start you should see the socket in /tmp/mysql.s…
一.物料准备 1.克隆react源码, github 地址:https://github.com/facebook/react.git 2.安装gulp 3.在react源码根目录下: $npm install $gulp default (建议使用node 6.0+) gulp将文件处理在根目录下的build文件夹中,打开build查看react的源码,结构清晰,引用路径明了 二.从生成 virtual dom 开始 react 生成一个组件有多种写法: es 5下:var Cp=React.…
先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个有颜值却假装靠才华苟且的程序员. 本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. List 系列差不多写完了, 单线程环境下最重要的就是 ArrayList 和 LinkedList,多线程环境下最重要的就是 CopyOnWriteArrayList,新来的同学可以点击链接回顾一下 List 的知识点.接下来,我要带着 HashMap 去爬山了,注意不是六峰山,纯粹…
测试奇谭,BUG不见. 这一场主讲python的面向对象部分--封装.多态和继承. 目的:掌握Python面向对象的三个核心概念. 封装 01 什么是封装? 封装的目的是,保护隐私.通俗的讲:不想让别人知道你的东西. 于是,便有了两个概念:普通属性(变量)和私有属性(变量). 02 为什么要用封装? 当你不希望外界可以直接修改一些数据时. 比如用户的身份证号等信息属于用户的隐私,肯定不能直接暴露给外界直接访问或修改,那么就不能把它作为普通属性,应该作为私有属性. 03 怎么使用封装? 看下面这个…
下面我画了一个图演示 client 和 server 之间建立 websocket 连接时握手部分,这个部分在 node 中可以十分轻松的完成,因为 node 提供的 net 模块已经对 socket 套接字做了封装处理,开发者使用的时候只需要考虑数据的交互而不用处理连接的建立.而 php 没有,从 socket 的连接.建立.绑定.监听等,这些都需要我们自己去操作,所以有必要拿出来再说一说. +--------+ 1.发送Sec-WebSocket-Key +---------+ | | --…
说明 为何要写这篇文章 ,之前看过阿二的梦想船的<Poco::TCPServer框架解析> http://www.cppblog.com/richbirdandy/archive/2010/09/10/123994.html 无奈代码太多,看起繁琐.所以 准备 以流程图简化,便于理解.也方便自己以后使用. 本文内容 是基于window api分析的. 本文的poco是1.4.6p4 (2014-04-18)版本的. 虽然现在poco版本是1.6 但调用改动不大. poco下载地址:http:/…
以前在学校的时候,多线程这一部分是属于那种充满好奇但是又感觉很难掌握的部分.原因嘛我觉得是这玩意儿和编程语言无关,主要和操作系统的有关,所以这部分内容主要出现在讲原理的操作系统书的某一章,看完原理是懂了,但是呢很难和编程实际结合起来,感觉很抽象,因为一般操作系统的书都没有啥代码.换到编程相关的书籍上面,讲语言的自然不会讲这个,讲编程技巧的也很难涉及到这一块.感觉就是这部分知识本来就不是很多,而且还散落在各个地方,想要原理实践都掌握有点收集七龙珠的感觉.这段时间工作正好接触这部分还挺多,遂觉得把我…
一.网络知识的一些介绍 socket是网络连接端点.例如当你的Web浏览器请求www.pythontik.com上的主页时,你的Web浏览器创建一个socket并命令它去连接www.pythontik.com的Web服务器主机,Web服务器也对来自的请求在一个socket上进行监听.两端使用各自的socket来发送和接收信息. 在使用的时候,每个socket都被绑定到一个特定的IP地址和端口.IP地址是一个由4个数组成的序列,这4个数均是范围0~255中的值(例如,220,176,36,76):…
shell 命令整理     bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#version 3.0  2017.1.1#Author woodman 一.bash内建命令 命令 描述 Alias 为指定命令定义一个别名 Cd 切换的指定目录 Declare 声明一个变量或变量类型 Echo 将指定字符串输出到STDOUT Exit 强制shell以指定的退出状态码退出 Export…