
linux
文章平均质量分 81
someday1314
这个作者很懒,什么都没留下…
展开
-
linux网络编程之NAT技术与代理服务器调研
一.NAT技术概念NAT技术:(Network Address Translation,网络地址转换),当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所原创 2017-06-19 16:16:47 · 1130 阅读 · 0 评论 -
linux网络编程之多线程多进程服务器与进程线程池
一.实现tcp服务端多进程编写#include<stdio.h>#include<stdlib.h>#include<sys/socket.h>#include<sys/types.h>#include<arpa/inet.h>#include<string.h>#include <netinet/in.h>static void usage(const char* proc){原创 2017-07-06 15:09:12 · 706 阅读 · 0 评论 -
高级I/O之多路转接epoll
一.关于epoll函数1.什么是epoll是为了处理大量的句柄而作了改进的poll。被公认为linux2.6下性能最好的多路I/O就绪通知方式。2.epoll函数epoll函数与select函数其中一个不同点是epoll分别用三个函数来实现多路转接的功能,而select函数用一个函数实现。 - epoll_creat() 作用:创建一个epoll模型,返回的是epoll模型句柄 参数:原创 2017-07-03 15:54:02 · 329 阅读 · 0 评论 -
关于在Linux下上传代码至Github
这里所说的上传代码指的是获取ssh key等所有的工作已经完成 打开要上传代码的目录,首先运行一下命令,看ssh是否能成功连接:$ssh -T git@github.com如果出现以下字符串“xxxxx’ve successfully authenticated, but GitHub does not provide shell access ”。(其中的xxx表示你的用户...原创 2017-09-04 19:08:27 · 562 阅读 · 0 评论 -
linux脚本编程之shell实现彩色进度条
一.shell语法一.shell语法1shell中printf()的使用shell中printf()的使用printf的默认输出没有换行,换行需要自己加“\n” printf的默认输出没有换行,换行需要自己加“\n”.printf支持格式化输出,要不怎么能叫printf呢.printf支持格式化输出,要不怎么能叫printf呢 下面通过几个例子来实现printf的"输出"下面通过几个例子来实现原创 2017-07-07 18:47:15 · 613 阅读 · 0 评论 -
linux脚本语言之shell 中的eval
一.关于eval一.关于eval功能说明:eval的作用是再次执行命令行处理,也就是说,对一个命令行,执行两次命令行处理功能说明:eval的作用是再次执行命令行处理,也就是说,对一个命令行,执行两次命令行处理 语法:eval[参数]语法:eval[参数] 补充:eval可以读取一连串的参数,然后再依照参数本身的特性来执行补充:eval可以读取一连串的参数,然后再依照参数本身的特性来执原创 2017-07-07 11:20:46 · 1465 阅读 · 0 评论 -
linux网络编程之udp套接字
一 .关于udp1.udp的概述udp的全称是用户数据报协议,他和tcp协议一样用于处理数据包,是一种无连接面向数据报的传输层协议,由于udp不提供对数据的分组,组装和不能对数据进行排序的缺点,导致udp在数据发完之后,不能确认数据是否完全到达,但是udp又有着在资源消耗少,传输效率高的优点。由于udp本身的缺点,导致其在网络差的环境下会发生严重丢包现象,故其适用于音频,视频,普通数据的传送,偶尔丢原创 2017-06-26 22:48:31 · 518 阅读 · 0 评论 -
linux之CRC校验
一.CRC的定义CRC即循环冗余校验码(Cyclic Redundancy Check[1] ):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。二.工作原理循环冗余校验码(CRC)的基本原理是:在K位信息码原创 2017-06-12 14:54:06 · 1045 阅读 · 0 评论 -
高级I/O之多路转接poll
一.关于poll与select使用三个位图来表示三个fdest的方式不同,poll是用一个pollfd指针来实现的这样做的解决了select处理文件描述符有上限的缺陷,,但是随着数量过大性能也会下降。和select函数一样,poll返回后,需要轮询pollfd来获取就绪的文件描述符。poll函数 fd:文件描述符 events :关心的事件 revevts :发生事件的数据原创 2017-07-03 16:34:19 · 313 阅读 · 0 评论 -
linux网络编程之服务器
基于tcp协议的网络程序1.所用函数:socket函数 socket()打开一个网络端口,如果成功,就像open()一样返回一个文件描述符,应用程序可以像读写文件一样用read/write在网络上首发数据,如果调用出错返回-1bind函数: 服务器程序所监听的网络地址和端口号通常是固定不变得,客户端程序得知服务器程序的地址和端口后就可以向服务器发起连接,因此需要调用bind()绑定一个固定的原创 2017-06-23 17:19:31 · 420 阅读 · 0 评论 -
linux网络编程之tcp的三次握手和四次挥手
一 .tcp协议的通信tcp的通信过程分为三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道下图为tcp的通信过程示意图: 建立tcp连接通道:三次握手 断开tcp连接通道:四次挥手二.详解三次握手和四次挥手三次握手建立连接:第一次握手:客户端发送tcp报文到服务器,其中syn标志位1,seq=x(x为A的初始序列号,随机数),然后启动计时器,等待接收服务器的应答。该报文段成为SY原创 2017-06-20 15:29:21 · 1016 阅读 · 0 评论 -
linux网络编程之TCP定时器
TCP的四种定时器重传计时器:Retransmission Timer坚持计时器:Persistent Timer保活计时器:Keeplive Timer时间等待计时器:Time_Wait Timer。重传计时器 为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建这个特定报文段的重传计时器,可能发生两种情况:若在计时器超时之前收到对报文段的确认,原创 2017-06-20 09:43:10 · 432 阅读 · 0 评论 -
TCP协议中的URG和PSH标志位的区别
一.tcp协议1.tcp协议的段格式如下图:2. tcp协议中的六个标志位及其含义:URG 紧急指针,告诉接收TCP模块紧要指针域指着紧要数据。ACK 置1时表示确认号()为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。 PSH 置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。 RST 置1时重建连接。如果接收到RST位时候,通常发生了某些错误。原创 2017-06-20 08:07:13 · 2544 阅读 · 0 评论 -
linux网络编程之端口分类调研
一.端口的概念在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用 于连接其他网络设备的接口,如RJ-45端口、SC端口等等。逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。由于物理端口和逻辑端口原创 2017-06-19 16:38:11 · 680 阅读 · 1 评论 -
Linux vi中查找字符内容的方法
使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容。这时,使用查找功能尤为重要。方法如下:1、命令模式下输入“/字符串”,例如“/Section 3”。2、如果查找下一个,按“n”即可。要自当前光标位置向上搜索,请使用以下命令:/pattern Enter其中,pattern表示要搜索的特定字符序列。要自当前光标位置向下搜索,请使用以下命令:?p...转载 2018-04-16 11:29:21 · 3328 阅读 · 0 评论