自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小易

用代码来阐述世界

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

转载 netstat 的10个基本用法

Netstat 简介Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。在这篇教程中,我会列出几个例子,教大家如何使用 netstat

2017-08-31 20:59:46 203

原创 《UNIX网络编程 卷1》之源码使用方法(for Ubuntu-10.04)

《UNIX网络编程 卷1》的源码可以从www.unpbook.com下载得到。解压之后的目录为unpv13e。详细步骤 1 ./configure 2 3 cd lib 4 make // 可能遇到问题:redefinition of ‘struct in_pktinfo’ 5 6 cd ../libfree

2017-08-31 20:57:41 742

原创 TCP连接中的TIME_WAIT状态

根据《UNIX网络编程》卷1,TCP的状态转换图可以得知:执行主动关闭的那端(假设客户端)经历了TIME_WAIT状态,该状态停留在那个状态的持续时间是最长分节期(maximum segment  lifetime,MSL)的两倍,称为2MSL。TIME_WAIT状态的持续时间在1min~4min之间。MSL是任何IP数据包能够在因特网上存活的最长时间。每个数据包在最大跳数(255)之内在网络

2017-08-31 17:14:30 337

转载 Linux主分区、扩展分区和逻辑分区

Linux在安装CentOS5.3的过程中,会遇到磁盘分区的界面,下拉式菜单中有4个选项,这时你不要选择默认,打开下拉式菜单,选择最后一项(翻译成中文意思是:建立自定义的分割模式)。然后选择右下角的确认,在下一个对话界面里依序建立/、/home及 swap,完成后如图。确认设置后的分割区。    为强调重点,把图中重要内容,再写一遍。 /

2017-08-30 21:06:06 6331

转载 wait和waitpid详解

学习本就是一个相互借鉴和模仿的过程。恩,大家一起学习,一起成长,才能不断进步! 关于wait和waitpid的区别,之前在严冰的linux程序设计书里只是简单介绍了一下,今天看一位有名的博主的UNIX网络编程的读书笔记的时候,发现自己对于wait和waitpid还是不理解。wait()就是得到子进程的返回码,等于就是为子进程“收尸”,否则子进程会变僵尸进程(关于僵尸和孤儿进程的区别,之

2017-08-30 13:41:16 262

原创 recvfrom: Bad address

对于函数: if(len = recvfrom(sockfd,buf,BUFSIZ,0,(struct sockaddr *)&remote_addr,size_len)<0){ perror("recvfrom"); return 1; }编译出现警告:udpserver.c: In function ‘main’:udpserver.c:31: warning: passi

2017-08-29 14:21:44 2360 1

原创 initializer element is not constant

C语言#includeint a = 1;int b,c;b = 1;c = a;char *ch = (char * ) malloc (10);int main(void){ return 0;}root@liujie-desktop:/software# gcc yan.cyan.c:4: warning: data definition has no type o

2017-08-28 16:05:40 671

原创 Linux 注册自定tftpd服务

linux启动服务是用SERVICE + COMMAND,(ubuntu)service 会去寻找/etc/init.d下启动程序,

2017-08-28 14:12:02 588

转载 结构体中最后一个成员数组定义0个元素的意义

[cpp] view plain copyprint?struct MyData     {        int nLen;        char data[0];    };      struct MyData { int nLen; char data[0]; }; 在结构中,data是一个数组名;但该数组没

2017-08-27 13:16:34 4382 1

原创 结构体中连续定义两个字符指针

连续定义连个字符指针:#include #include #include typedef struct student{ char * id; char * name; int mark;}student;main(){ student * st = (student*)malloc(sizeof(student)); st->id =(char*)ma

2017-08-27 12:16:31 1857

原创 TFTP 服务器安装与配置

tftpd-hpa 是一个功能增强的TFTP服务器。它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统。

2017-08-26 19:26:01 2158

原创 基于TCP的Socket文件双向传输(可并发)

服务器端:////////////////////////////////////////////////////////////////////////// file_server.c -- socket文件传输服务器端示例代码// /////////////////////////////////////////////////////////////////////#include

2017-08-24 16:47:18 1074

转载 Linux中fork()函数实例分析

一、fork 入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的

2017-08-24 15:39:20 342

原创 fork派生进程

fork派生进程#include #include int main(void) { int i=0; printf("---------------------------\n"); //ppid指当前进程的父进程pid //pid指当前进程的pid, //fpid指fork返回给当前进程的值 for(i=0;i<2;i++) { pid_t f

2017-08-24 15:32:26 436

转载 字节排序函数

BeginManPython开发1 人赞同了该回答字节序是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。Consider a 16-bit integer that is made up of 2 bytes. There are two ways to store the twobytes in memory:

2017-08-23 14:29:41 380

原创 基于TCP的Socket文件双向传输

服务端////////////////////////////////////////////////////////////////////////// file_server.c -- socket文件传输服务器端示例代码// /////////////////////////////////////////////////////////////////////#include#

2017-08-22 15:12:19 8664 2

转载 关于Web服务器的认识

1.进程与线程        进程是具有一定独立功能的程序,关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。从逻辑角度来看,多线程的意义在于一个应用程序(进程)中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用来实现,而是作为进程来调度和管理以及资源分配。这就是进程和线程的重要区别,进程和线程的主要差别在于,进程有独立的地址空间,一个进程

2017-08-21 15:29:17 564

转载 TCP3次握手连接协议和4次握手断开连接协议

TCP/IP 状态机,如下图所示:     在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示。 (SYN包表示标志位syn=1,ACK包表示标志位ack=1,SYN+ACK包表示标志位syn=1,ack=1) (1) 第一次握手:建立连接时,客户端A发送SYN包(SEQ_NUMBER=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。

2017-08-21 11:27:49 239

原创 访问百度的整个过程

http命令图 1利用w3m命令,在terminal 中 w3m www.baidu.com 如 图1DNS请求standard query AAAA ,www.baidu.com;arp请求;arp响应;DNS响应;DNS请求standard query A,www.baidu.com;DNS响应;cname www.a.shifen.com  A 115

2017-08-21 10:57:25 2540

原创 【1】ping 命令

ping命令arp 请求,目的地址是广播FF...;arp 响应;向网关发送DNS 请求  ,www.baidu.com;网关DNS响应;发送ICMP请求;收到ICMP应答;再次向发送DNS请求,www.baidu.comUDP端口与上次DNS请求不一样;网关DNS响应;发送ICMP请求;收到ICMP应答;(每发送一个数据包,都要重新DNS,循环执行3到6)

2017-08-21 10:45:34 368

原创 关于I/O复用之select函数

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式

2017-08-18 15:27:09 374

转载 CSDN 如何转载博客

1、找到要转载的文章,用chrome浏览器打开,右键选择审查元素2、在chrome中下方的框里找到对应的内容,html脚本中找到对应的节点,选中节点,网页上被选中内容会被高亮显示,然后右键菜单选中 Copy as HTML3、进入个人”管理博客”主界面,选择”写新文章“,编辑界面的地方选择工具条上的源代码,将chrome中复制的内容贴进来

2017-08-18 15:26:19 249

原创 select

select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - synchronous I/O multiplexing

2017-08-18 11:25:56 245

原创 网址收藏

Linux man pages   https://www.kernel.org/doc/man-pages/ man-pages/man-pages.git https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git

2017-08-18 10:28:06 289

空空如也

空空如也

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

TA关注的人

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