题目如下:实现linux下tree的单一功能[只打印目录个数和文件个数(不包含隐藏文件)]首选我们介绍几个相关的linux系统API函数名函数描述函数声明opendir打开一个目录,成功返回一个DIR*类型指针,失败返回NULLDIR*opendir(constchar*name)readdir读取打开的目录下的子成员,成..
分类:
系统相关 时间:
2016-06-08 10:52:51
阅读次数:
407
1.学习linux网络编程首要掌握的基本概念系统资源是指CPU和内存等一些活动单元(除存储设备外)程序是指由编译好的二进制文件,存储在磁盘上,不占用系统资源进程由硬盘中的程序动迁起来,产生一个或多个进程调度并发---->单道程序设计同一时间内,多个进程同时运行,需要占..
分类:
系统相关 时间:
2016-06-07 11:20:36
阅读次数:
275
学习Linux网络编程就不得不提到一个概念——进程。我觉得简单来说进程就是程序的一个执行实例。task_struct则是进程描述符。操作系统通过task_struct感知进程的存在。因此这个结构体就显得至关重要了。现在就对这个结构体进行一个剖析。structtask_struct{
volatilelongstate;..
分类:
其他好文 时间:
2016-06-06 01:25:23
阅读次数:
458
1、套接字概述套接字的本意是插座,在网络中用来描述计算机中不同程序与其他计算机程序的通信方式。
常用的套接字类型有3种:
1)流套接字(SOCK——STREAM):使用了面向连接的可靠的数据通信方式,即TCP套接字;
2)数据报套接字(Raw Sockets):使用了不面向连接的数据传输方式,即UDP套接字;
3)原始套接字(SOCK——RAW):没有经过处理的IP数据包,可以根据自己程序的...
分类:
系统相关 时间:
2016-05-27 11:19:36
阅读次数:
218
自从开始学linux网络编程后就想写个聊天室,一开始原本打算用多进程的方式来写,可是发觉进程间的通信有点麻烦,而且开销也大,后来想用多线程能不能实现呢,于是便去看了一下linux里线程的用法,实际上只需要知道 pthread_create 就差不多了,于是动手开干,用了两天时间,调试的过程挺痛苦的, ...
分类:
编程语言 时间:
2016-05-19 19:09:17
阅读次数:
217
《Linux网络编程》(第二版) 第2章的一些读书笔记 ↓ Makefile:在一个含有较多文件的工程中,定义一系列规则来指定编译文件的顺序,可用于管理工程。 Makefile指定了工程中的哪些源文件需要编译以及如何编译、需要创建那些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行文件。为 ...
分类:
系统相关 时间:
2016-05-19 13:19:55
阅读次数:
400
进程间通信简介(摘自《Linux网络编程》p85) AT&T 在 UNIX System V 中引入了几种新的进程通讯方式,即消息队列( MessageQueues),信号量( semaphores)和共享内存( shared memory),统称为 System V IPC。在Linux 系统编程 ...
分类:
系统相关 时间:
2016-05-17 19:42:09
阅读次数:
464
摘要: 总结GCC的具体使用,动态库静态库的相关问题 参考资料: 《Linux网络编程》 ISBN:9787302207177 p19 1 GCC简介 GCC是Linux下的编译工具集,是GNU Compiler Collection的缩写,包含gcc,g++等编译器,还有工具集如ar,nm GCC ...
分类:
系统相关 时间:
2016-05-16 00:10:05
阅读次数:
302
在我们学习网络基础时,传输层的协议有TCP和UDP,在Linux网络编程中,我们使用socket API,实现网络通信。
那么: socket API 和 TCP 协议中各个状态是如何对应的呢?我们可以通过下图来看:
在socket系统调用中,如何完成三次握手和四次挥手:
SOCK_DGRAM,即UDP中的connect操作知识在内...
面向连接的TCP程序设计 基于TCP的程序开发分为服务器端和客户端两部分,常见的核心步骤和流程: 其实按照上面这个流程调用系统API确实可以完全实现应用层程序的开发,一点问题没有。可随着时间的推移,你会觉得这样子的开发毫无激情。为什么TCP的开发就要按照这样的流程来呢?而且一般出的问题几乎都不在这几 ...
分类:
系统相关 时间:
2016-04-27 12:26:44
阅读次数:
237