Linux
文章平均质量分 87
fucangzxx
这个作者很懒,什么都没留下…
展开
-
UDP——socket通信
基于UDP(UDP是无连接、不可靠的协议)的socket编程,分为客户端和服务器端客户端流程如下:1)创建套接字(socket)2)和服务器进行通信(sendto,recvfrom)3)关闭套接字服务器端的流程如下:1)创建套接字(socket)2)将套接字绑定到一个ip地址和端口上(bind)3)用返回的套接字和客户端进行通信(recvfrom,sendto)原创 2016-07-28 00:00:28 · 579 阅读 · 0 评论 -
epoll实现I/O多路复用
epoll是Linux特有的I/O复用函数,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率;并且epoll使用一组函数来完成任务,而不是单个函数,它无须遍历整个被侦听的描述符集,只要遍历那些内核I/O时间异步唤醒而加入ready队列的描述符集合即可。但epoll需要使用一个额外的文件描述符,来唯一标识内核中的这个事件表。1、这个文件描述符使用epoll_create函数原创 2016-08-02 15:06:01 · 1060 阅读 · 0 评论 -
poll实现I/O多路复用
函数原型:函数说明:该函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生的时候才。唤醒它参数说明:fds:是一个struct pollfd 结构体类型的数组,用于存放需要检测其状态的socket描述符。每当调用这个函数之后,系统不会清空这个数组,特别是对于socket连接比较多的情况下,在一定程度上可以提高处理的效率;这原创 2016-08-01 15:31:50 · 646 阅读 · 0 评论 -
select实现I/O多路复用
系统提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。select:该函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或经历一段指定的时间后才唤醒它。参数含义:timeout:它告知内核等待所制定描述符中的任何一个就绪可在多长时间,其timeval结构用于指定原创 2016-07-30 21:33:06 · 2579 阅读 · 0 评论 -
dup/dup2输出重定向
有时我们希望把标准输入重定向到一个文件,或者把标准输出重定向到一个网络连接。dup()与dup2()能对输入文件描述符进行重定向。int dup(int oldfd);int dup2(int oldfd, intnewfd);dup函数创建一个新的文件描述符,该新文件描述符和原有文件描述符oldfd指向相同的文件、管道或者网络连接。并且dup返回的文件描述符总是取系统当前可用原创 2016-07-28 17:11:20 · 9783 阅读 · 1 评论 -
高级I/O函数之socketpair
pipe函数可用于创建一个管道,以实现进程间的通信。但是单个管道只能单向通信,一端用于读,一端用于写。若要实现双向通信,必须创建一对管道。而socketpair函数能够创建双向管道。int socketpair(int domain, int type, int protocol, int fd[2]);socketpair函数的前三个参数的含义与socket系统调用的三个参数完全相同。但原创 2016-07-28 15:55:06 · 829 阅读 · 0 评论 -
进程控制块PCB结构 task_struct 描述
一、task_struct 结构描述1.进程状态(State)进程执行时,它会根据具体情况改变状态。进程状态是调度和对换的依据。Linux 中的进程主要有如下状态,如表4.1 所示。(1)可运行状态处于这种状态的进程,要么正在运行、要么正准备运行。正在运行的进程就是当前进程(由current 宏 所指向的进程),而准备运行的进程只要得到CPU转载 2016-06-03 10:29:25 · 530 阅读 · 0 评论 -
Linux中文件的查找whereis、locate、find
Linux文件的查找:whereis、locate、find相对来说,find查找的速度比较慢;因为whereis与locate是利用数据库来查找数据,所以相对比较快,而且并没有实际查询硬盘,比较节省时间。whereis(寻找特定文件) whereis [-bmsu] 文件或目录名-b:只找二进制格式的文件-m:只找在说明文件manual路径下的文件-s:只找source源文件-u:查找不在上述原创 2016-05-29 21:36:33 · 1368 阅读 · 0 评论 -
Linux下vim的配置
前言: 对于vim的配置,本人也在网上看了很多的方法,碰了很多 壁,所以就知道痛了。所以在下面给大家分享一下我如何配置vim的方法。配置环境 首先给说明下我的环境为CentOS6.5的版本,对于CentOS的配置应该都没有问题,但是是其他系统的话,可以参考,可能因为环境原因可能会发生错误哦。其他 还有一个需要说明的是,我的操作基本上是在文件夹里操作的,虽然能够简单直观的实现vim的配置,转载 2016-05-29 21:36:36 · 816 阅读 · 0 评论 -
Linux基于TCP/IP简单的客户端、服务器通信程序实例
服务器端代码:/************************************************************************* > File Name: server.c > Author: fucang_zxx > Mail: fucang_zxx@163.com > Created Time: Sun 24 Jul 2016 03:45:21原创 2016-07-26 10:08:10 · 23419 阅读 · 1 评论 -
利用http协议实现一个简单的web服务器
目录文件:htdoc:html文件: hello hello fucang原创 2016-08-06 10:27:52 · 5906 阅读 · 1 评论