- 博客(23)
- 资源 (13)
- 收藏
- 关注
转载 C Function Call Conventions and the Stack
原文: www.csee.umbc.edu/~chang/cs313.s02/stack.shtmlUMBC CMSC 313, Computer Organization & Assembly Language, Spring 2002, Section 0101C Function Call Conventions and the Stack[Revised 10/
2015-08-31 14:38:33 576
原创 UNIX网络编程卷一:调试工具 tcpdump lsof 总结
1、tcpdump2、lsof1) 查看某个端口被谁占用, 下面的例子是查看谁占用了8888用于TCP连接。lsof -i TCP:8888
2015-08-31 14:01:05 567
原创 UNIX网络编程卷一:第三十章 客户/服务器程序设计范式
本章介绍了9种,服务器设计范式。代码总结: https://github.com/huntinux/unpvol1/tree/master/30chp
2015-08-31 10:55:08 648
原创 lighttpd源码学习
// 固定产生 10 个worker进程工作, 有worker退出时, 重新创建worker。// 类似于lighttpd 的 watcher,worker模型// 参考:http://bbs.chinaunix.net/thread-1251434-1-1.html#include #include #include #include void child_main()
2015-08-28 17:10:57 1312
转载 signal和sigaction的分析比较
原文:http://blog.chinaunix.net/uid-9354-id-2425031.htmlsignal函数每次设置具体的信号处理函数(非SIG_IGN)只能生效一次,每次在进程响应处理信号时,随即将信号处理函数恢复为默认处理方式.所以如果想多次相同方式处理某个信号,通常的做法是,在响应函数开始,再次调用signal设置,如下图: int
2015-08-26 15:10:17 667
原创 UNIX网络编程卷一:第二十六章 线程
malloc和free是不可重入函数。在主线程处于这两个函数之一的内部处理期间,从某个信号处理函数种调用这两个函数之一可能造成灾难性后果。这是因为这两个函数操纵了相同的静态数据结构。
2015-08-17 11:21:18 467
原创 UNIX网络编程卷一:第二十一章 多播
单播、广播、多播。从名字上就可以看出区别。单播和广播时寻址方案的两个极端(要么单个要么全部),多播是一个折中方案。多播数据报只应该由对它感兴趣的接口接收。此外,广播局限于局域网,而多播既可以用于局域网,也可用于广域网。多播地址IPv4的D类地址224.0.0.0 ~ 239.255.255.255 是IPv4的多播地址。D类地址的低28位构成多播组ID。
2015-08-17 10:48:09 413
原创 UNIX网络编程卷一:第二十章 广播
TCP只支持单播寻址UDP和原始IP还支持其它寻址类型。IPv6中增加了任播方式。广播(broadcastign):用途1: 在本地子网定位一个服务器主机,这种操作成为资源发现。用途2: 在多个客户主机和单个服务器主机通信的局域网环境种尽量减少分组流通, 如: a) ARP : ARP在本地子网上广播一个请求:“IP地址为a.b.c.d的系统亮明身份,告
2015-08-17 10:38:38 537
原创 UNIX网络编程卷一:第十七章 ioctl
ioctl函数传统上一直作为不适合归入其它精细定义类别的特性的系统借口。POSIX致力于摆脱ioctl借口,办法是创造新的函数来取代ioctl,例如:Unix终端接口传统上使用ioctl访问,而POSIX为终端创造了12个新函数:tcgetattr tcflush ....但是,ioctl依然保留了不少功能,用于:获取接口信息、访问路由表、访问ARP高速缓存等。网络程序
2015-08-17 09:23:56 632
原创 UNIX网络编程卷一:第十六章 非阻塞I/O
套接字的默认状态是阻塞的。当发出一个套接字调用,但是不能立即完成时,该进程被投入睡眠。可阻塞的套接字调用有4类:1)输入操作 read readv recv recvfrom recvmsg 某进程对一个阻塞的TCP套接字调用这些输入函数,并且该套接字的接受缓冲区种没有数据可读,该进程被投入睡眠,直到有一些数据到达。 因为TCP是字节流协议,该进程的
2015-08-13 10:12:41 551
原创 UNIX网络编程卷一:第十五章 Unix域套接字
Unix域协议它并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法.在UNPvol2--IPC(进程间通信)中,Unix域协议可以当作一种IPC方法.Unix域提供两类套接字:1) 字节流套接字 (类似TCP)2) 数据报套接字 (类似UDP)为什么使用Unix域套接字?1) 当通信两端位于同一主机上时,Unix域套接字要快.2) 可
2015-08-12 14:58:27 557
原创 UNIX网络编程卷一:第十四章 高级I/O
高级I/O可设置超时时间read和write的三个变体: 1) recv send : 通过第四个参数从进程到内核传递标志 2) readv writev : 允许指定往其中输入数据或从其中输出数据的缓冲区向量. 3) recvmsg sendmsg: 结合了其他I/O函数的所有特性,并具备接收和发送辅助数据的新能力.套接字超时在套接字I/O
2015-08-12 10:01:13 509
原创 UNIX网络编程卷一:第十三章 守护进程和inetd超级服务器
守护进程(daemon)是在后台运行且不与任何控制终端关联的进程。因为它们通常由系统初始化脚本启动。守护进程有多种启动方式:1、由系统初始化脚本启动。 如inetd, Web2、由inetd超级服务器启动。inetd监听网络请求,当有一个请求到达时,启动相应的实际服务器(Telnet, FTP等)3、cron守护进程按照规则定期执行一些程序。这些程序也作为daemon运
2015-08-11 16:50:25 504
原创 UNIX网络编程卷一:第十一章 名字与地址转换
名字和数值地址间的转换函数(IPV4):gethostbynamegethostbyaddr服务名字和端口号之间转换:getservbynamegetservbyport协议无关函数:getaddrinfo : 主机名字和IP之间的转换getnameinfo : 服务名字和端口号实践代码:https://github.com/huntinux/unpv
2015-08-11 15:53:28 633
转载 sizeof() 类大小,空类大小
原文: blog.csdn.net/liu_qiqi/article/details/9344627一个类的实例化对象所占空间的大小? 注意不要说类的大小,是类的对象的大小. 首先,类的大小是什么?确切的说,类只是一个类型定义,它是没有大小可言的。 用sizeof运算符对一个类型名操作,得到的是具有该类型实体的大小。 如果 Class A; A obj; 那么sizeof(
2015-08-11 15:51:03 859
原创 UNIX网络编程卷一:第六章 I/O 复用 select, poll
什么时候使用?当需要同时处理多个描述符时,需要使用I/O复用。Unix下可用的5种I/O模型1、阻塞I/O2、非阻塞I/O3、I/O复用 (select poll)4、信号驱动I/O (SIGIO)5、异步I/O (POSIX的aio_系列函数)一个输入操作通常包括两个不同的阶段:1、等待数据准备好 (等待数据从网络中
2015-08-10 10:53:03 695
原创 UNIX网络编程卷一:第五章 TCP客户/服务器程序实例
POSIX 信号处理信号:1、由一个进程发送给另一个进程。2、由内核发送给某个进程。如SIGCHLD信号就是由内核在任何一个进程终止时,发送给该进程的父进程。每个信号有一个与之关联的处置,或称为行为(action)(信号处理函数)。可以通过sigaction函数设置信号的行为。1)设置信号处理函数这种行为称为捕获信号。但是有两个信号不能被捕获:SIGKILL S
2015-08-07 14:54:50 683
原创 accept: Invalid argument
accept函数出错看看 man 2 accept:NAME accept, accept4 - accept a connection on a socketSYNOPSIS #include /* See NOTES */ #include int accept(int sockfd, struct s
2015-08-07 11:09:52 1553
转载 数字证书原理
原文:www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的
2015-08-07 09:40:05 496
转载 #pragma once
原文: https://en.wikipedia.org/wiki/Pragma_once#cite_note-11pragma onceIn the C and C++ programming languages, #pragma once is a non-standard but widely supportedpreprocessor directive
2015-08-06 14:48:46 1220
原创 UNIX网络编程卷一:第四章 基本TCP套接字编程
客户端在调用connect前,不必非得调用bind,因为如果需要的话,内核会确定源IP地址,并选择一个临时端口作为源端口。如果是TCP套接字,调用connect会激发TCP的“三次握手”。listen调用listen后的套接字,称为监听套接字,listen把一个未连接的套接字转换成一个被动套接字,指示内核应接受指向该套接字的连接请求。内核为监听套接字维护两个队列
2015-08-03 19:52:48 758
meandmyshadow-0.4-bin.tar
2013-10-23
tslib1.3.tar.gz
2013-10-11
Slope One Predictors for Online Rating-Based Collaborative Filtering
2013-09-06
推荐系统实践
2013-09-06
mini2440 定时器中断实验源代码
2012-08-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人