学习《unix环境高级编程》
文章平均质量分 57
c05170519
研究生在读
展开
-
关于子进程中的exit-----子进程中使用exit对于子进程复制父进程数据段、堆栈的影响
子进程中使用exit对于子进程复制父进程数据段、堆栈的影响原创 2010-11-22 15:16:00 · 2044 阅读 · 0 评论 -
网络编程(tcp文件服务器)
编写tcp文件服务器和客户端。客户端可以上传和下载文件 客户端功能如下: 1.支持以下命令: help:显示客户端所有命令和说明 list:显示服务器端可下载文件列表 get:下载文件 put:上传文原创 2011-09-27 15:31:16 · 3348 阅读 · 0 评论 -
用消息队列编写一个客户端服务器通信的程序
实验原理: 本实验用消息队列设计一个简易的双人聊天程序(一个服务器,两个客户端)。消息队列重点在于消息类型的匹配,客户端和服务端的“通信协议”的设计。思想如下: 服务器端:接受客户端发来的任何消息,并根据器消息类型,转发给对应的客户端。同时,检测是否有退出标记,有原创 2011-09-20 14:51:24 · 6676 阅读 · 1 评论 -
父子进程间信号通信
//司机售票员问题 创建子进程代表售票员,父进程代表司机,同步过程如下: 售票员捕捉SIGINT(代表开车),发SIGUSR1给司机,司机打印(“let's gogogo”) 售票员捕捉SIGIQUIT(代表停车),发SIGUSR2给司机,司机打印(“stop the原创 2011-09-20 09:59:49 · 3103 阅读 · 1 评论 -
网络编程(tcp协议)
构建一个j简单的tcp的服务器端和客户端。服务器端: 流程:socket->bing->listen->(accept->send/recv->close)。括弧内循环#include#include#include#include#in原创 2011-09-21 09:08:21 · 896 阅读 · 0 评论 -
AF_INET和PF_INET的区别
在写网络程序的时候,建立TCP socket一般是这样的: sock = socket(PF_INET, SOCK_STREAM, 0);然后在绑定本地地址或连接远程地址时需要初始化sockaddr_in结构,其中指定address family时一般设置为AF_I转载 2011-09-20 20:16:13 · 2178 阅读 · 0 评论 -
非亲缘进程间的共享内存与信号通信
view plainprint?/***************************** 写入数据到共享内存,后再得到另一个进程pid 向其发送SIGUSR1信号,另一个进程 收到后退出 ***************************/ #i转载 2011-09-20 08:56:28 · 1451 阅读 · 0 评论 -
关于ftok
key_t ftok(const char *path, int id); 根据pathname指定的文件(或目录)名称,以及proj_id参数指定的数字,ftok函数为IPC对象生成一个唯一性的键值。在实际应用中,很容易产生的一个理解是,在proj_id相同的情况下,只要原创 2011-07-07 12:15:37 · 5862 阅读 · 3 评论 -
exit()和_exit()
这两个函数虽然看过好多遍了,但是过一阵遇到就不大清楚了,又要去翻书。现在写成博客,以后方便。 进程运行 _exit() exit() 调用退出处理函数 清理I/O缓冲 进程结束原创 2011-07-04 16:49:29 · 634 阅读 · 0 评论 -
如何使用APUE源代码(UNIX高级编程)
方法一:1.APUE2源代码下载:http://www.apuebook.com/src.tar.gz2.我保存到了/root下.解压缩:tar -xzvf src.tar.gz3.cd apue.2e进入apue.2e目录,查看README,告诉我们linu转载 2011-07-04 14:41:39 · 795 阅读 · 0 评论 -
Linux下cfsetospeed和cfsetispeed函数
<br />对于波特率的设置通常使用cfsetospeed和cfsetispeed函数来完成。获取波特率信息是通过cfgetispeed和cfgetospeed函数来完成的。<br /> cfsetospeed函数<br /> 头文件:<br /> #include<br /> 函数原型:<br /> int cfsetospeed(struct termios *termptr, speed_t speed);<br /> 参数:<br /> struct termios *term转载 2011-05-24 15:14:00 · 17781 阅读 · 0 评论 -
linux 串口概述
<br />串口概述<br />用户常见的数据通信的基本方式可分为并行通信和串行通信。<br />并行通信是指利用多条数据传输线将一个资料的各位同时传送。特点是传输速度快,适用于短距离通信,但要求传输速度较高的应用场合。<br />串行通信是指利用一条传输线将资料一位位的顺序传送。特点是通信线路简单,利用简单的线缆就可以实现通信,减低成本,适用于远距离通信,但传输速度慢的应用场合。常用的串口有RS-232-C接口(全称是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进转载 2011-05-24 15:33:00 · 210 阅读 · 0 评论 -
O_NONBLOCK与O_NDELAY有何不同
<br />O_NONBLOCK和O_NDELAY所产生的结果都是使I/O变成非搁置模式(non-blocking),在读取不到数据或是写入缓冲区已满会马上return,而不会搁置程序动作,直到有数据或写入完成。<br /><br />它们的差别在于设立O_NDELAY会使I/O函式马上回传0,但是又衍生出一个问题,因为读取到档案结尾时所回传的也是0,这样无法得知是哪中情况;因此,O_NONBLOCK就产生出来,它在读取不到数据时会回传-1,转载 2011-05-24 10:52:00 · 2382 阅读 · 0 评论 -
网络通信(udp协议)
用udp协议实现echo服务器(即服务器把收到的内容发送回去)服务器:socket->bind->(recvfrom->sendto)循环客户端:socket->connect->(recvfrom->sendto)循环Server.c#include#i原创 2011-09-27 15:40:23 · 1176 阅读 · 0 评论