自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 网络通信基础重难点解析 03:bind 函数难点解析

bind 函数如何选择绑定地址上一节的服务器代码中演示了 bind 函数的使用方法,让我们再看一下相关的代码:struct sockaddr_in bindaddr;bindaddr.sin_family = AF_INET;bindaddr.sin_addr.s_addr = htonl(INADDR_ANY);bindaddr.sin_port = htons(3000);i...

2019-06-25 22:41:33 1345

转载 socket编程实现简单DNS协议实现获取域名ip(TCP)

上次在文章《socket编程实现简单DNS协议实现获取域名ip(UDP)》中提到使用udp协议发送dns数据包查询站点ip,这次带来TCP版本的查询代码。其实不管是tcp协议还是udp协议,都是构造dns报文,填写查询方式,发送数据包即可。然而,在dns协议中有个特殊的地方需要重点强调!使用tcp协议和udp协议发送的dns报文有个很容易被忽略的问题:在tcp协议时,除了udp协议时的dn...

2019-06-11 14:50:11 2070

转载 异步DNS查询实现

每当打开firefox,点开一个url的时候,左下角显示的Lookuping up xxx.com,有时候速度很难忍受,这个lookuping要持续几十秒之长。这就是DNS查询,在网络应用中几乎不可避免,系统本身的gethostbyname等API都是同步的,会严重阻塞程序运行,严重影响程序的性能。为了提高DNS查询的速度,有几种解决方法:1. 本地DNS Cache Server,dnsma...

2019-06-10 23:27:57 798

转载 C/C++实现DNS劫持

###什么是DNS?每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议的功能。主机名到IP地址的映射有两种方式:1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;2)动态映射,建立一套域名解析系统(DN...

2019-06-01 15:55:07 962

转载 HTTP请求过程(一)——DNS解析过程

我们在浏览器输入网址后,按回车键,要浏览的内容就会显示出来。那么在开发者眼中,这个过程是咋样的呢?其实,从我们输入URL到页面显示,大致可以分为三步:第一步:进行域名解析,得到IP地址;第二步:找到IP地址对应的服务器通过三次握手建立TCP连接,向服务器发送HTTP Request请求,并得到服务器的Response响应;第三步:浏览器根据响应结果渲染输出页面。DNS解析过程...

2019-06-01 14:55:41 2565

原创 EWOULDBLOCK和EAGAIN

#define EAGAIN 11 /* Try again */ #define EINTR 4 /* Interrupted system call */ #define EWOULDBLOCK EAGAIN /* Operation would block */EWOULDBLOCK用于非阻塞模式,不需要重新读或者写EINTR指被中断唤醒,需要重新读/写在Linu...

2019-05-30 22:03:39 2141

原创 关于recv的flags的问题

flags为recv的第四个参数flags=MSG_DONTWAIT 返回读取数据的长短,如当队列中没有数据时,返回-1。并且errno==EWOULDBLOCK。可以用于当事件触发时,对信息进行接收,当接收到尾部时,队列空了,再次调用recv时会返回-1,此时如errno为EWOULDBLOCK时,就可以判定接收结束。既提示你的应用程序现在没有数据可读请稍后再试。等待下一次事件触...

2019-05-30 21:40:30 2556

转载 任何时候都适用的20个C++技巧

标准模板库和通用编程 标准模板库(STL)给C++程序员编写代码的方式带来了革命性的影响。这样的代码重用将生产力水平提升到了更高的水平,节省了大量的时间,避免了重复性的劳动。然而,STL是一个具有特殊术语和复杂规则的、比较全面的框架,如果你想更好的去应用它,那么你只能去掌握它,“知己知彼方能百战不殆”吗。为了更深入地了解STL某些方面的情况,这大类中将包含6个小技巧。  第一个技巧将介绍一...

2019-05-29 19:13:40 167

转载 为什么模板类与模板成员函数不能分文件写(.h与.cpp)

定义一个类一般都是在头文件中进行类声明,在cpp文件中实现,但使用模板时应注意目前的C++编译器还无法分离编译,最好将实现代码和声明代码均放在头文件中。如:test.h template <class T>class CTest{ public: T& GetValue(); void SetValue(const T...

2019-05-29 17:21:04 2713

转载 WebSocket 和HTTP的区别及原理

有时候还会有老铁在考虑在什么样的环境下使用WebSocket,什么样的环境下使用HTTP,今天我们来说下WebSocket和HTTP。 WebSocket和HTTP的区别 http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息。 http链接分为短链接,长链接,短链接是每次请求都要三次握手才能发送自己的信息。即每一...

2019-05-21 16:57:25 185

原创 网络字节序和本机字节序

1.字节序定义:是指整数在内存中保存的顺序。2.字节序种类:a.Little endinan 低位存储在内存的低地址,高位存储在内存的高地址;b.Big endian 高位存储在内存的低地址,低位存储在内存的高地址;3.例子:DWORD dwCount = 0x01020304;这样的一个双字节变量在内存中如下分布0013FF70 04 03 02 01(注:实验结果取之 ...

2019-05-21 16:37:36 524

转载 int argc,char* argv[] 详解

argc是命令行总的参数个数argv[]为保存命令行参数的字符串指针,其中第0个参数是程序的全名,以后的参数为命令行后面跟的用户输入的参数,argv参数是字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址。 指针数组的长度即为参数个数argc。数组元素初值由系统自动赋予。比如:int main(int argc, char* argv[])...

2019-03-05 20:47:58 15785 1

原创 ubuntu 操作命令备忘

创建文件: touch a.txt创建文件夹: mkdir NewFolder删除文件: rm a.txt删除文件夹: rmdir NewFolder删除带有文件的文件夹: rm -r NewFolder 

2019-02-19 15:15:41 88

转载 使用SSH命令行传输文件到远程服务器

使用SSH命令行传输文件到远程服务器以前一直在windows下用SSH Secure Shell连接远程服务器,它自带了一个可视化的文件传输工具,跟ftp差不多但是它也存在一个缺陷,不支持编码的选择,遇到utf8就自动乱码了,另外mac下也没有这个工具在mac下我用终端登录上去之后,想传个文件上去就犯愁了,难不成要开个ftp?搜了一下,果然有直接的命令行工具,名字叫SCP使用方...

2019-02-19 14:57:14 163

转载 Eigen convert dense matrix to sparse one

How to convert an Eigen::Matrix&lt;double,Dynamic,Dynamic&gt; to an Eigen::SparseMatrix&lt;double&gt; ? I'm looking for a better way instead of iterate through the dense matrixyou can use the sparse...

2019-02-19 11:20:12 611

原创 简单eigen使用

#include &lt;iostream&gt;#include &lt;Eigen/Dense&gt;using namespace std;using namespace Eigen;int main(int argc, const char * argv[]) { MatrixXd mix1(2,2); //mix=MatrixX2d::...

2018-12-05 16:41:50 163

转载 矩阵的基本操作和运算

#include &lt;iostream&gt;#include &lt;Eigen/Dense&gt;//g++ mat.cpp -o mat -I/download/eigenusing namespace Eigen;using namespace std;//矩阵的按元素赋值int main(){  //------------------------  Matri...

2018-12-05 16:41:02 342

原创 矩阵求逆算法

//得到给定矩阵src的逆矩阵保存到des中。bool GetMatrixInverse(double src[N][N],int n,double des[N][N]){ double flag=getA(src,n); double t[N][N]; if(flag==0) { return false; } else ...

2018-12-05 15:16:40 4523

原创 树的表示法:静态链表

用链表的思维,用数组存储

2018-09-17 21:15:31 386

原创 树的表示法:链表

用链表的思维表达树

2018-09-17 21:14:46 588

转载 urllib2爬虫

============================================================ Urllib2爬虫 ============================================================ URLlib2基本操作: 1 ---------...

2018-06-10 00:41:37 260

原创 matlab practice

clearx = xlsread('/Users/apple/Documents/MATLAB/data.xlsx', 'A1:I17');y = xlsread('/Users/apple/Documents/MATLAB/data.xlsx', 'J1:J17');%x=x';%y=y';%将y设为0,1两类y=y-1;%获取输入参数的样本数与参数数[m,d]=size(x)...

2018-03-29 17:49:45 241

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除