- 博客(9)
- 收藏
- 关注
原创 TCP打洞方法
1.TCP穿透原理:(俗称打洞机制)我们假设在两个不同的局域网后面分别有2台客户机A和 B,AB所在的局域网都分别通过一个路由器接入互联网。互联网上有一台服务器S。现在AB是无法直接和对方发送信息的,AB都不知道对方在互联网上真正的IP和端口,AB所在的局域网的路由器只允许内部向外主动发送的信息通过。对于B直接发送给A的路由器的消息,路由会认为其“不被信任”而直接丢弃。要实现 AB直接的通讯,就必...
2018-04-19 15:44:33 5692 2
转载 hash_map的介绍
0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻的方法就是取得所有的记录,然...
2018-04-18 14:32:25 150
转载 redis的相关特点。
1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性 能...
2018-04-16 21:02:02 224
转载 /usr/lib64/libssl.so.10: symbol private_ossl_minimum_dh_bits, version libcrypto.so.10 not defined问题?
问题描述如下: relocation error: /usr/lib64/libssl.so.10: symbol private_ossl_minimum_dh_bits, version libcrypto.so.10 not defined in file libcrypto.so.10 with link time reference尝试了好久才解决,要么缺失,要么版本不对。原因...
2018-04-13 14:18:40 9628
原创 linux 线程同步问题之互斥锁
线程的特点是一个轻量级的,所有的线程共享相同的资源,这样一来就产生了问题,多线程如何来同步的合理的使用这些资源呢?在linux中提供了三种形式的同步模式,互斥锁,信号量,互斥变量三种模型来解决该问题。下来就简单介绍这几种情况:<1>互斥锁(mutex) 利用互斥锁来进行线程的同步,让每个线程在某个时间只能让一个线程使用该资源,用完之后释放该资源,供给其他线程使用。如下所示:互斥锁...
2018-04-02 20:53:25 201
翻译 高并发多路I/O复用之poll模型
Poll模型介绍select() 和 poll() 系统调用的本质一样,poll() 的机制与 select() 类似,与 select() 在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是 poll() 没有最大文件描述符数量的限制(但是数量过大后性能也是会下降)。poll() 和 select() 同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态...
2018-04-02 11:06:26 942
原创 linux 文件的遍历
首先,明确一个类型DIR的含义: #include <dirent.h> DIR A type representing a directory stream.(指向一个目录的指针) DIR是在目录项格式头文件dirent.h中定义的,它表示一个目录流类型。一、opendir - open a directory SYNOPSIS#include <sys/types.h&...
2018-04-02 10:34:14 894
原创 linux高并发多路I/O复用之epoll模型
Epoll模型概念:epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来传递结果,而不是迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一个原因就是获取事件的时候,它无须遍历整个被侦听的描述符集...
2018-04-02 10:08:16 949
原创 高并发多路I/O复用的select介绍
select1、基本概念IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。 (4)...
2018-04-02 09:28:14 295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人