
网络编程(apue)
文章平均质量分 56
douyuhua0918
这个作者很懒,什么都没留下…
展开
-
电子邮件的五层协议
电子邮件的工作过程遵循客户-服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。邮局服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。邮件服务器识将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来。接收者通过邮件客转载 2012-03-20 20:12:23 · 2083 阅读 · 0 评论 -
窥探 kernel,just for fun --- sys_fork,sys_vfork,sys_clone,kernel_thread
分类: 嵌入式linux kernel篇2012-04-19 22:31 245人阅读 评论(2) 收藏 举报本系列文章由张同浩编写,转载请注明出处:http://blog.youkuaiyun.com/muge0913/article/details/7479379邮箱:muge0913@sina.com用户空间进程创建接口转载 2012-04-28 11:56:06 · 751 阅读 · 0 评论 -
窥探 kernel,just for fun --- 有关系统调用的几个知识点
窥探 kernel,just for fun --- 有关系统调用的几个知识点分类: 嵌入式linux kernel篇2012-04-27 14:08 90人阅读 评论(0) 收藏 举报本系列文章由张同浩编写,转载请注明出处:http://blog.youkuaiyun.com/muge0913/article/details/7517303邮箱:muge0913@sina转载 2012-04-28 11:50:33 · 389 阅读 · 0 评论 -
fork()趣题(哈哈 得来全不费功夫。。。)
经常看到有人问到这样一个问题:点击(此处)折叠或打开#include stdio.h>#include sys/types.h>#include unistd.h>int main(int argc, char *argv[]){ int i, pid; pid = 0;转载 2012-04-13 16:32:00 · 308 阅读 · 0 评论 -
fork真的详解(太好的东西)
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来转载 2012-04-13 16:41:01 · 5566 阅读 · 0 评论 -
库函数与系统调用区别
库函数是语言本身的一部分,而系统函数是内核提供给应用程序的接口,属于系统的一部分。 函数库调用是语言或应用程序的一部分,而系统调用是操作系统的一部分。你要确保弄懂“trap(自陷)”这个关键字的含义。系统调用是在操作系统内核发现一个“trap”或中断后进行的(其中系统调用是软中断)。 函数库调用 VS 系统调用函数库调用系统调用转载 2012-04-12 10:12:57 · 456 阅读 · 0 评论 -
fork问题的经典理解
main() { pid_t pid ;if(pid=fork() { printf("error!" );} else { if (pid==0) printf("a\n" );else printf ("b\n" );} 结果是返回a ,b 或者b ,a 因为fork调用将执行两次返回分别从子进程和父进程返回由于父进程和子进程无关,父转载 2012-04-11 08:43:57 · 515 阅读 · 0 评论 -
FORK()函数的理解
作者:王姗姗,华清远见嵌入式学院讲师。对于刚刚接触Unix/Linux操作系统,在Linux下编写多进程的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。 首先我们来看下fork函数的原型:#i nclude #i nclude pid_t fork(void);返回值:负数:如果出错,则fork()返回-1,此时没有创建新转载 2012-04-10 16:30:13 · 285 阅读 · 0 评论 -
【转】linux用户态和内核态切换理解
2011-02-27 10:26转载自 少逸工作室最终编辑 少逸工作室1. 用户态和内核态的概念区别究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:1)例子void testfork(){if(0 =转载 2012-04-10 15:34:33 · 430 阅读 · 0 评论 -
fork的精辟剖析
论坛上高手对fork的精辟剖析。程序如下:#include ;#include ;main (){ pid_t pid; pid=fork(); if (pid printf("error in fork!"); else转载 2012-04-10 15:42:59 · 280 阅读 · 0 评论 -
fork()返回值两个的根本理解!!!
2011-03-07 22:52对于fork来说,父子进程共享同一段代码空间,所以给人的感觉好像是有两次返回,其实对于调用fork的父进程来说,如果fork出来的子进程没有得到 调度,那么父进程从fork系统调用返回,同时分析sys_fork知道,fork返回的是子进程的id。再看fork出来的子进程,由copy_process函数可以看出,子进程的返回地址为ret转载 2012-04-10 15:30:28 · 1583 阅读 · 0 评论 -
进程在内存中如何表示
2011-02-26 21:14所有进程都运行在自己的虚拟地址空间,而每个进程都有着自己的内存地址,在32位的操作系统中有这4GB的地址空间被用户和内核访问,用户态的空间在0~3GB,内核态在3~4GB。他们都会涉及到3种不同的数据段,分别是代码段,数据断,和堆栈段。下面是3个数据断的存储作用。1、代码段:用于保存可执行文件的操作指令和程序定义的常量。其只允许读,不能进转载 2012-04-10 15:35:27 · 466 阅读 · 0 评论 -
socket 描述符(经典)
2011-03-08 20:30dlytgaowen 的 套接字描述符引子........大多数的操作系统里,需要I/O请求的应用程序请求操作系统打开一个文件。系统就创建一个文件描述符提供给应用程序访问文件。从应用程序的角度看,文件描述符是一个整数,应用程序可以用它来读写文件。下图显示,操作系统如何把文件描述符实现为一个指针数组,这些指针指向内部数据结构。转载 2012-04-10 15:31:21 · 1046 阅读 · 0 评论 -
OSI7层模型每层的作用--最彻底的解释
OSI共7层,应用层,表示层,会话层,传输层,数据链路层,物理层。应用层 应用层是网络可向最终用户提供应用服务的唯一窗口,其目的是支持用户联网的应用的要求。由于用户的要求不同,应用层含有支持不同应用的多种应用实体,提供多种应用服务,如电子邮件(MHS)、文件传输(FTAM)、虚拟终端(VT)、电子数据交换(EDI)等。主要协议有,FTP(21端口),SMTP(25端口),DNS,H转载 2012-03-21 13:54:47 · 1172 阅读 · 0 评论 -
send,recv,sendto,recvfrom
int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;第二个参数指明一个存转载 2012-03-20 20:20:16 · 322 阅读 · 0 评论 -
Linux下Socket编程
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的I/O,Soc转载 2012-03-20 20:21:31 · 285 阅读 · 0 评论 -
Live555学习(一)--编译、安装、运行
2012-03-09 10:00:23| 分类:Live555 | 标签:|字号大中小 订阅Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPE转载 2013-02-18 14:05:33 · 1216 阅读 · 0 评论