04 2019 档案

 
密钥管理套接字
摘要:一、概述 (1)RFC2367介绍了一个通用密钥管理API,可用于IPsec和其他网络安全服务;该API创建了一个新的协议族即PF_KEY域; 在这个密钥管理域中,唯一支持的一种套接字是原始套接字; (2)密钥管理套接字上支持3种类型的操作: 二、读和写 (1)穿越密钥管理套接字的所有消息都有同样的 阅读全文
posted @ 2019-04-30 18:35 soldierback 阅读(429) 评论(0) 推荐(0)
路由套接字
摘要:一、路由套接字中支持的操作 在路由套接字中支持的唯一一种套接字是原始套接字,路由套接字上支持3中类型的操作: (1)进程可以通过写出到路由套接字而往内核发送消息;路径的增加和删除采用这种操作实现; (进程 》 内核) (2)进程可以通过从路由套接字读入而自内核接收消息;内核采用这种操作通知进程已收到 阅读全文
posted @ 2019-04-29 14:58 soldierback 阅读(358) 评论(0) 推荐(0)
ioctl函数
摘要:一、函数原型 二、和网络相关的请求(request) (1)套接字操作 (2)文件操作 (3)接口操作 (4)ARP告诉缓存操作 (5)路由表操作 (6)流系统 三、request参数及arg地址必须指向的数据类型 四、案列:获取所有网络设备接口名称 五、关于ioctl函数应该注意 六、get_if 阅读全文
posted @ 2019-04-28 15:56 soldierback 阅读(1757) 评论(0) 推荐(0)
IP 别名和辅助 IP 地址
摘要:https://blog.csdn.net/xiewen99/article/details/54729112 阅读全文
posted @ 2019-04-28 13:41 soldierback 阅读(340) 评论(0) 推荐(0)
非阻塞connect:Web客户程序
摘要:一、web.h 二、web.c 三、home_page.c 四、start_connect.c 五、tcp_connect.c 六、host_serv.c 七、write_get_cmd.c 八、writen.c 九、others.c 十、error.c 十一、Makefile 阅读全文
posted @ 2019-04-27 14:47 soldierback 阅读(227) 评论(0) 推荐(0)
非阻塞connect
摘要:int connect_nonb(int sockfd, const SA *saptr, socklen_t salen, int nsec) { int flags, n, error; socklen_t len; fd_set rset, wset; struct timeval tval; ... 阅读全文
posted @ 2019-04-26 21:52 soldierback 阅读(273) 评论(0) 推荐(0)
使用fork的str_cli函数
摘要:void str_cli(FILE *fp, int sockfd) { pid_t pid; char sendline[MAXLINE], recvline[MAXLINE]; if ( (pid = fork()) == 0) { /* child: server -> stdout */ while (read(sock... 阅读全文
posted @ 2019-04-26 20:51 soldierback 阅读(186) 评论(0) 推荐(0)
非阻塞读和写:str_cli函数
摘要:void str_cli(FILE *fp, int sockfd) { int maxfdp1, val, stdineof; ssize_t n, nwritten; fd_set rset, wset; char to[MAXLINE], fr[MAXLINE]; char *toiptr, *to... 阅读全文
posted @ 2019-04-26 20:40 soldierback 阅读(353) 评论(0) 推荐(0)
UNIX域协议之描述符传递
摘要:一、mycat程序 二、openfile程序 阅读全文
posted @ 2019-04-25 14:00 soldierback 阅读(236) 评论(0) 推荐(0)
recvmsg和sendmsg函数
摘要:一、函数原型 二、msghdr结构 三、关于msg_flags成员 (1)只有recvmsg使用msg_flags成员;recvmsg被调用时,falgs参数被复制到msg_flags成员,并由内核使用其值驱动接收处理过程;内核 还依据recvmsg的结果更新msg_flags成员的值; (2)se 阅读全文
posted @ 2019-04-25 13:35 soldierback 阅读(1079) 评论(0) 推荐(0)
unix域数据报回射程序(不完整)
摘要:一、服务器程序 二、客户端程序 阅读全文
posted @ 2019-04-24 22:21 soldierback 阅读(237) 评论(0) 推荐(0)
unix域字节流回射程序
摘要:一、服务端程序 二、客户端程序 阅读全文
posted @ 2019-04-24 22:18 soldierback 阅读(304) 评论(0) 推荐(0)
给一个Unix域套接字bind一个路径名
摘要:#include #include #include #include #include #include #include #define SA struct sockaddr int main(int argc, char **argv) { int sockfd; ... 阅读全文
posted @ 2019-04-24 21:34 soldierback 阅读(587) 评论(0) 推荐(0)
使用kqueue的str_cli函数
摘要:void str_cli(FILE *fp, int sockfd) { int kq, i, n, nev, stdineof = 0, isfile; char buf[MAXLINE]; struct kevent kev[2]; struct timespec ts; struct stat... 阅读全文
posted @ 2019-04-24 20:41 soldierback 阅读(236) 评论(0) 推荐(0)
fstat函数
摘要:一、函数原型 二、struct stat结构体中的一些域 三、用于解释st_mode标志的掩码 四、文件类型标志 阅读全文
posted @ 2019-04-24 20:29 soldierback 阅读(1724) 评论(0) 推荐(0)
使用/dev/poll的str_cli函数
摘要:void str_cli(FILE *fp, int sockfd) { int stdineof; char buf[MAXLINE]; int n; int wfd; struct pollfd pollfd[2]; struct dvpoll dopoll; int ... 阅读全文
posted @ 2019-04-24 19:40 soldierback 阅读(376) 评论(0) 推荐(0)
5组I/O函数的比较
摘要: 阅读全文
posted @ 2019-04-24 18:29 soldierback 阅读(147) 评论(0) 推荐(0)
readv和writev函数
摘要:一、函数原型 二、iovec结构 阅读全文
posted @ 2019-04-24 17:34 soldierback 阅读(549) 评论(0) 推荐(0)
recv和send函数
摘要:flags参数的值或为0,或为下列值之一: 阅读全文
posted @ 2019-04-24 17:20 soldierback 阅读(178) 评论(0) 推荐(0)
使用SO_REVTIMEO套接字选项为recvfrom设置超时
摘要:void dg_cli(FILE *fp, int sockfd, const SA *pservaddr, socklen_t servlen) { int n; char sendline[MAXLINE], recvline[MAXLINE + 1]; struct timeval tv; tv.t... 阅读全文
posted @ 2019-04-24 17:14 soldierback 阅读(467) 评论(0) 推荐(0)
使用select为描述符设置超时
摘要:int readable_timeo(int fd, int sec) { fd_set rset; struct timeval tv; FD_ZERO(&rset); FD_SET(fd, &rset); tv.tv_sec = sec; tv.tv_usec = 0; return (select(f... 阅读全文
posted @ 2019-04-24 17:04 soldierback 阅读(310) 评论(0) 推荐(0)
套接字超时设置方法
摘要:(1)调用alarm,它在指定超时期满时产生SIGALRM信号; (2)在select中阻塞等待I/O; (3)使用SO_RECVIMEO和SO_SNDTIMEO套接字选项 注:1)select可用来在connect上设置超时的先决条件是相应套接字处于非阻塞模式,而上述两个套接字选项对connect 阅读全文
posted @ 2019-04-24 17:00 soldierback 阅读(1083) 评论(0) 推荐(0)
使用SIGALARM为recvfrom设置超时
摘要:static void sig_alrm(int); void dg_cli(FILE *fp, int sockfd, const SA *pservaddr, socklen_t servlen) { int n; char sendline[MAXLINE], recvline[MAXLINE + 1]; signal(SIGALRM, sig_... 阅读全文
posted @ 2019-04-24 16:58 soldierback 阅读(300) 评论(0) 推荐(0)
使用SIGALARM为connect设置超时
摘要:static void connect_alarm(int); int connect_timeo(int sockfd, const SA *saptr, socklen_t salen, int nsec) { Sigfunc *sigfunc; int n; sigfunc = signal(SIGALRM, connect_alarm... 阅读全文
posted @ 2019-04-24 16:53 soldierback 阅读(366) 评论(0) 推荐(0)
inetd.conf文件中的字段
摘要: 阅读全文
posted @ 2019-04-23 12:22 soldierback 阅读(335) 评论(0) 推荐(0)
error.c
摘要:#include #include #include #include #include /* ANSI C header file */ #include /* for syslog() */ #define MAXLINE 4096 int daemon_proc; /*... 阅读全文
posted @ 2019-04-23 12:20 soldierback 阅读(268) 评论(0) 推荐(0)
可由inetd启动的协议无关时间获取服务器程序
摘要:#include #include #include #include #include #include #define MAXLINE 4096 char *sock_ntop(const struct sockaddr *, socklen_t); void daemon_inetd(const char *, int);... 阅读全文
posted @ 2019-04-23 12:19 soldierback 阅读(145) 评论(0) 推荐(0)
daemon_inetd函数
摘要:#include extern int daemon_proc; /* defined in error.c */ void daemon_inetd(const char *pname, int facility) { daemon_proc = 1; /* for our err_XXX() functions */ openlog(pnam... 阅读全文
posted @ 2019-04-23 12:18 soldierback 阅读(188) 评论(0) 推荐(0)
inetd的工作流程
摘要: 阅读全文
posted @ 2019-04-23 12:17 soldierback 阅读(434) 评论(0) 推荐(0)
作为守护进程运行的协议无关时间获取服务器程序
摘要:#include #include #include #include #include #include #define MAXLINE 4096 int daemon_init(const char *, int); int tcp_listen(const char *, const char *, socklen_t ... 阅读全文
posted @ 2019-04-23 12:14 soldierback 阅读(237) 评论(0) 推荐(0)
daemon_init函数:调用该函数把普通进程转变为守护进程
摘要:#include #include #include #include #define MAXFD 64 extern int daemon_proc; /* defined in error.c */ int daemon_init(const char *pname, int facility) { int ... 阅读全文
posted @ 2019-04-23 12:13 soldierback 阅读(674) 评论(0) 推荐(0)
IPv6地址测试宏
摘要: 阅读全文
posted @ 2019-04-22 07:41 soldierback 阅读(555) 评论(0) 推荐(0)
getnameinfo函数
摘要:一、函数原型 二、可指定的flags标志值 阅读全文
posted @ 2019-04-21 13:43 soldierback 阅读(3294) 评论(0) 推荐(0)
tcp_listen函数
摘要:#include #include #include #include #include #define LISTENQ 1024 int tcp_listen(const char *host, const char *serv, socklen_t *addrlenp) { int liste... 阅读全文
posted @ 2019-04-21 13:35 soldierback 阅读(1015) 评论(0) 推荐(0)
tcp_connect函数
摘要:#include #include #include #include #include int tcp_connect(const char *host, const char *serv) { int sockfd, n; struct addrinfo hints, *res, *ressave;... 阅读全文
posted @ 2019-04-21 13:35 soldierback 阅读(2121) 评论(0) 推荐(0)
udp_connect函数
摘要:#include #include #include #include #include int udp_connect(const char *host, const char *serv) { int sockfd, n; struct addrinfo hints, *res, *ressave... 阅读全文
posted @ 2019-04-21 13:34 soldierback 阅读(439) 评论(0) 推荐(0)
udp_server函数
摘要:#include #include #include #include #include int udp_server(const char *host, const char *serv, socklen_t *addrlenp) { int sockfd, n; struct addrinfo hi... 阅读全文
posted @ 2019-04-21 13:34 soldierback 阅读(558) 评论(0) 推荐(0)
udp_client函数
摘要:#include #include #include #include #define SA struct sockaddr int udp_client(const char *host, const char *serv, SA **saptr, socklen_t *lenp) { int sockf... 阅读全文
posted @ 2019-04-21 13:33 soldierback 阅读(647) 评论(0) 推荐(0)
gai_strerror函数
摘要:一、函数原型 二、由getaddrinfo返回的非0错误值的名字和含义 阅读全文
posted @ 2019-04-21 12:02 soldierback 阅读(1454) 评论(0) 推荐(0)
getaddrinfo函数
摘要:一、功能 对于IPv4和IPv6均适用,可以处理名字到地址以及服务到端口这两种变换,返回的是一个sockaddr结构而不是一个地址队列 二、函数原型 (1)hostname:是一个主机名或地址串 (2)service:是一个服务名或十进制端口号数串 (3)hints:一个空指针或指向某个addrin 阅读全文
posted @ 2019-04-21 11:43 soldierback 阅读(765) 评论(0) 推荐(0)
SCTP一到多式流分回射服程序
摘要:一、服务器程序 二、客户端程序 阅读全文
posted @ 2019-04-21 11:21 soldierback 阅读(570) 评论(0) 推荐(0)
gethostbyname和gethostbyaddr
摘要:一、gethostbyname函数原型 二、hostent结构 三、关于全局整体变量h_errno 当gethostbyname发生错误时,它不设置errno变量,而是将全局变量h_errno设置为<netdb.h>中定义的下列常值之一: (1)HOST_NOT_FOUND; (2)TRY_AGAI 阅读全文
posted @ 2019-04-21 11:16 soldierback 阅读(636) 评论(0) 推荐(0)
getservbyname和getservbyport
摘要:一、getservbyname函数原型 二、servent结构 三、getservbyport函数原型 阅读全文
posted @ 2019-04-20 11:40 soldierback 阅读(420) 评论(0) 推荐(0)
SCTP接口模型
摘要:一、接口模型 (1)SCTP套接字分为:一到一套接字和一到多套接字; (2)一到一套接字对应一个单独的SCTP关联(一个SCTP关联是两个系统之间的一个连接,不过可能由于多宿原因而在每个断点设计不止 一个IP地址),这种映射类似于TCP套接字和TCP连接的对应关系; (3)对应一到多套接字,一个给定 阅读全文
posted @ 2019-04-17 21:17 soldierback 阅读(435) 评论(0) 推荐(0)
UDP客户/服务器程序所用的套接字函数
摘要: 阅读全文
posted @ 2019-04-17 18:14 soldierback 阅读(164) 评论(0) 推荐(0)
TCP回射服务器修订版(ubuntu 18.04)
摘要:一、需求 把https://www.cnblogs.com/soldierback/p/10673345.html中的TCP回射服务器程序重写成使用select来处理任意个客户的单进程 程序,而不是为每个进程派生一个子进程 二、分析 (1)服务器有单个监听描述符 (2)服务器只维护一个读描述符集;假 阅读全文
posted @ 2019-04-14 12:14 soldierback 阅读(320) 评论(0) 推荐(0)
select实现简单TCP通信(ubuntu 18.04)
摘要:一、服务器程序(server.c) 二、客户端程序(client.c) 三、服务器程序或客户端程序用到的程序 (1)sock_ntop.c (2)writen.c 四、Makefile文件 (1)服务器 (2)客户端 阅读全文
posted @ 2019-04-13 16:33 soldierback 阅读(732) 评论(0) 推荐(0)
ubuntu配置搜狗输入法
摘要:https://www.cnblogs.com/zhangfengfly/p/6867844.html 阅读全文
posted @ 2019-04-13 14:19 soldierback 阅读(397) 评论(0) 推荐(0)
使用select正确处理EOF的str_cli函数
摘要:void str_cli(FILE *fp, int sockfd) { int maxfdp1, stdineof; fd_set rset; char buf[MAXLINE]; int n; stdineof = 0; FD_ZERO(&rset); for ( ; ; ) { if (stdineof == 0) {... 阅读全文
posted @ 2019-04-13 13:21 soldierback 阅读(337) 评论(0) 推荐(0)
shutdown函数
摘要:(1)该函数的行为依赖于howto参数的值: SHUT_RD 关闭连接的读这一半;套接字中不再有数据可接收,而且套接字接收缓冲区中的现有数据都被丢弃 SHUT_WR 关闭连接的写这一半;不再发送数据,而且套接字发送缓冲区中的现有数据都被丢弃 SHUT_RDWR 现有的读半部和写半部都被关闭 (2)调 阅读全文
posted @ 2019-04-13 12:59 soldierback 阅读(628) 评论(0) 推荐(0)
使用select的str_cli函数的实现
摘要:void str_cli(FILE *fp, int sockfd) { int maxfdp1; fd_set rset; char sendline[MAXLINE], recvline[MAXLINE]; FD_SET(&rset); for ( ; ; ) { FD_SET(&fileno(fp), &rset); ... 阅读全文
posted @ 2019-04-13 12:44 soldierback 阅读(283) 评论(0) 推荐(0)
select函数
摘要:(1)timeout参数 该参数告知内核等待所指定描述符中的任何一个就绪可花多长时间;其timeval结构用于指定这段时间的秒数和微秒数 这个参数有以下三种可能: i. 永远等待下去:仅在有一个描述符准备好I/O时才返回;为此,可以把参数设置为空指针 ii. 等待一段固定时间:在有一个描述符准备好I 阅读全文
posted @ 2019-04-13 12:28 soldierback 阅读(628) 评论(0) 推荐(0)
ubuntu没有/usr/include/sys目录
摘要:实际上不是没有sys目录,只是系统给换路径了 使用ln命令创建一个符号链接就行了 知识点来源 https://blog.csdn.net/Q1410136042/article/details/84063098 阅读全文
posted @ 2019-04-13 12:23 soldierback 阅读(2455) 评论(1) 推荐(0)
描述符就绪条件
摘要:一、满足下列四个条件中的任何一个时,一个套接字准备好读 二、下列四个条件中的任何一个满足时,一个套接字准备好写 三、如果一个套接字存在带外数据或者仍处于带外标记,那么它有异常条件待处理 阅读全文
posted @ 2019-04-13 11:41 soldierback 阅读(212) 评论(0) 推荐(0)
I/O模型
摘要:一、阻塞式I/O模型 二、非阻塞式I/O模型 三、I/O复用模型 四、信号驱动式I/O模型 五、异步I/O模型 六、同步I/O和异步I/O (1)同步I/O操作:导致请求进程阻塞,直到I/O操作完成 (2)异步I/O操作:不导致请求进程阻塞 阅读全文
posted @ 2019-04-13 10:51 soldierback 阅读(112) 评论(0) 推荐(0)
JS定义函数
摘要:一、定义函数的方法 (1)函数声明 (2)函数表达式 二、函数声明方法定义函数 (1)FireFox、Safari、Chrome和Opera都给函数定义了一个非标准的name属性,通过这个属性可以访问到给函数指定的名字 (2)关于函数声明,它的一个重要的特征就是函数声明提升,意思是在执行代码之前会先 阅读全文
posted @ 2019-04-12 20:48 soldierback 阅读(2539) 评论(0) 推荐(0)
JS创建对象之稳妥构造函数模式
摘要:所谓稳妥对象,指的是没有公共属性,而且其方法也不引用this的对象 在以这种模式创建的对象中,除了使用sayName()方法之外,没有其他办法访问name的值;可以像下面使用稳妥的Person构造函数 var friend = Person("Mary", 18, "Software Enginee 阅读全文
posted @ 2019-04-12 20:40 soldierback 阅读(330) 评论(0) 推荐(0)
JS创建对象之动态原型模式
摘要:动态原型模式把所有信息都封装在了构造函数中,而通过在构造函数中初始化原型(仅在必要的情况下),又保持了 同时使用构造函数和原型的优点;换句话说,可以通过检查某个应该存在的方法是否有效,来决定是否需要初始化原型 阅读全文
posted @ 2019-04-12 20:20 soldierback 阅读(708) 评论(0) 推荐(0)
JS创建对象之组合使用构造函数模式和原型模式
摘要:注:js中 == 和 区别 简单来说: == 代表相同, 代表严格相同, 为啥这么说呢 这么理解:(1)当进行 == 比较时,先检查两个操作数数据类型,如果相同, 则进行 比较,否则进行一次类型转换再进行比较; (2)而 比较时, 如果类型不同,直接就是false. 比较过程: (1)双等号==: 阅读全文
posted @ 2019-04-12 20:03 soldierback 阅读(324) 评论(0) 推荐(0)
JS创建对象之原型模式
摘要:一、原型对象 只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象;在默认情况下,所有原型对象都会 自动获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针 二、使用原型对象可以让所有对象实例 阅读全文
posted @ 2019-04-12 19:47 soldierback 阅读(536) 评论(0) 推荐(0)
JS创建对象之构造函数模式
摘要:function Person(name, age, job) { this.name = name; this.age = age; this.job = job; this.sayName = function() { alert(this.name); }; } var person1 = n 阅读全文
posted @ 2019-04-12 18:34 soldierback 阅读(650) 评论(0) 推荐(0)
JS创建对象之工厂模式
摘要:function createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function() { alert(this.name); }; return o; } v... 阅读全文
posted @ 2019-04-12 18:26 soldierback 阅读(336) 评论(0) 推荐(0)
JS面向对象的程序设计之理解对象
摘要:一、对象定义 (1)ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同; (2)ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数” 二、创建对象的方法 (1)创建一个Object实列,然后再为它添加属性和方法 (2)用对象字面量创建对象 阅读全文
posted @ 2019-04-12 18:13 soldierback 阅读(186) 评论(0) 推荐(0)
简单回射程序小结
摘要: 阅读全文
posted @ 2019-04-12 16:25 soldierback 阅读(106) 评论(0) 推荐(0)
在客户与服务器之间传递二进制结构
摘要:一、结构 二、str_cli函数 三、str_echo函数 四、在客户与服务器之间传递二进制结构有什么问题!!! 阅读全文
posted @ 2019-04-12 16:13 soldierback 阅读(226) 评论(0) 推荐(0)
对两个数求和的str_echo函数
摘要:void str_echo(int sockfd) { long arg1, arg2; ssize_t n; char line[MAXLINE]; for ( ; ; ) { if ( (n = read(sockfd, line, MAXLINE)) == 0) { return; } ... 阅读全文
posted @ 2019-04-12 15:57 soldierback 阅读(285) 评论(0) 推荐(0)
做网络编程时应该注意的三种情况
摘要:(1)当终止子进程时,必须捕获SIGCHLD信号; (2)当捕获信号时,必须处理被中断的系统调用; (3)SIGCHLD的信号处理函数必须正确编写,应使用waitpid函数以免留下僵死进程 阅读全文
posted @ 2019-04-12 15:30 soldierback 阅读(326) 评论(0) 推荐(0)
简单回射程序之处理accept返回EINTR错误的服务器程序版本
摘要:#include #include #include #include #include #include #include #include #include #include #define SERV_PORT 9999 #define MAXLINE 4096 #define LISTENQ 1024 #define SA struct sockaddr typed... 阅读全文
posted @ 2019-04-12 15:27 soldierback 阅读(248) 评论(0) 推荐(0)
调用waitpid的SIGCHLD信号处理函数
摘要:#include #include void sig_chld(int signo) { pid_t pid; int stat; while ( (pid = waitpid(-1, &stat, WNOHANG)) > 0) { printf("child %d terminated\n", pid); } return; }注... 阅读全文
posted @ 2019-04-12 15:18 soldierback 阅读(271) 评论(0) 推荐(0)
处理被中断的系统调用
摘要: 阅读全文
posted @ 2019-04-12 14:38 soldierback 阅读(215) 评论(0) 推荐(0)
服务器中同一个【ip:port】可以多次accept的问题
摘要:一、多次bind的问题 服务器的【ip:port】被某套接字绑定成功后,在该绑定解除之前,同一个【ip:port】,不能再次被其他套接字绑定,否则绑定失败 二、多次accept的问题 有外来连接时,若accept成功则返回一个已连接套接字描述符,一个已连接套接字的标识为【客户端地址:端口,服务器地址 阅读全文
posted @ 2019-04-12 14:02 soldierback 阅读(538) 评论(0) 推荐(0)
各类数字与字符串转换的标准库函数
摘要:一、将任意类型的数字转换为字符串 二、将字符串转换为任意类型的数字 阅读全文
posted @ 2019-04-12 13:22 soldierback 阅读(1373) 评论(0) 推荐(0)
简单回射程序之处理僵死进程版服务器程序
摘要:一、server.c 二、writen.c 三、signal.c 四、sig_chld.c 五、Makefile 阅读全文
posted @ 2019-04-12 12:07 soldierback 阅读(188) 评论(0) 推荐(0)
调用wait的SIGCHLD信号处理函数
摘要:#include <stdio.h> #include <sys/wait.h> void sig_chld(int signo) { pid_t pid; int stat; pid = wait(&stat); printf("child %d terminated\n", pid); retu 阅读全文
posted @ 2019-04-11 21:13 soldierback 阅读(304) 评论(0) 推荐(0)
ps 命令的十个简单用法【转】
摘要:注记 ps 命令有两种不同的语法风格 —— BSD 与 UNIX 两种风格。新手常常对这两种形式产生误解,因此我们有必要在这里作一个简单的说明: ps aux 与 ps -aux 是不同的,例如 -u 参数表示打印进程的 uid,而参数 u 表示显示进程的详细信息。 BSD 格式 —— 参数前面不加 阅读全文
posted @ 2019-04-11 19:25 soldierback 阅读(307) 评论(0) 推荐(0)
进程状态符号
摘要:R 正在运行,或在队列中的进程 S 处于休眠状态 T 停止或被追踪 Z 僵尸进程 W 进入内存交换(从内核2.6开始无效) X 死掉的进程 < 高优先级 N 低优先级 L 有些页被锁进内存 s 包含子进程 + 位于后台的进程组; l ... 阅读全文
posted @ 2019-04-11 19:13 soldierback 阅读(784) 评论(1) 推荐(1)
POSIX信号和自定义signal函数
摘要:一、信号的概念 信号(signal)就是告知某个进程发生了某个事件的通知;信号通常是异步发生的,也就是说接受信号的进程不知道信号的准确 发生时刻;信号可以(1)由一个进程发给另一个进程;(2)由内核发给某个进程 二、信号的处置 每个信号都有一个与之关联的处置,即收到特定信号时的处理方法;可以通过调用 阅读全文
posted @ 2019-04-11 18:00 soldierback 阅读(2074) 评论(0) 推荐(0)
talk命令帮助文档(ubuntu 18.04)
摘要:TALK(1) BSD General Commands Manual TALK(1) NAME talk — talk to another user SYNOPSIS talk person [ttyname] DESCRIPTION Talk is a visual communica... 阅读全文
posted @ 2019-04-11 14:33 soldierback 阅读(442) 评论(0) 推荐(0)
mesg命令帮助文档(ubuntu 18.04)
摘要:MESG(1) User Commands MESG(1) NAME mesg - display (or do not display) messages from other users SYNOPSIS mesg [option] [n|y] DESCRIPT... 阅读全文
posted @ 2019-04-11 14:23 soldierback 阅读(444) 评论(0) 推荐(0)
write命令帮助文档(ubuntu 18.04)
摘要:WRITE(1) BSD General Commands Manual WRITE(1) NAME write — send a message to another user SYNOPSIS write user [tty] DESCRIPTION The write utility al... 阅读全文
posted @ 2019-04-11 13:47 soldierback 阅读(655) 评论(0) 推荐(0)
man termios(FreeBSD 12.0)
摘要:TERMIOS(4) FreeBSD Kernel Interfaces Manual TERMIOS(4) NAME termios - general terminal line discipline SYNOPSIS #include DESCRIPTION This describes a general term... 阅读全文
posted @ 2019-04-11 12:03 soldierback 阅读(209) 评论(0) 推荐(0)
termios.h(FreeBSD 12.0)
摘要:一、文件位置 二、文件内容 阅读全文
posted @ 2019-04-11 12:02 soldierback 阅读(849) 评论(0) 推荐(0)
termios结构体各成员的值(FreeBSD 12.0)
摘要:一、文件位置 二、文件内容 阅读全文
posted @ 2019-04-11 11:23 soldierback 阅读(309) 评论(0) 推荐(0)
termios结构体的内容
摘要:一、结构体成员 二、成员具体意义 (1)c_iflag:输入模式标志,控制终端输入方式,具体参数值如下所示 IGNBRK 忽略BREAK键输入 BRKINT 如果设置了IGNBRK,BREAK键的输入将被忽略,如果设置了BRKINT ,将产生SIGINT中断 IGNPAR 忽略奇偶校验错误 PARM 阅读全文
posted @ 2019-04-11 09:55 soldierback 阅读(402) 评论(0) 推荐(0)
阻塞式I/O实现简单TCP通信
摘要:一、技术简介 (1)服务端打开两个端口9999和6666监听外来连接; (2)服务端的子进程通过端口9999监听外来消息,通过端口6666发送消息; (3)客户端的子进程处理外来消息,父进程发送消息 二、服务器程序 三、客户端程序 阅读全文
posted @ 2019-04-10 19:49 soldierback 阅读(399) 评论(0) 推荐(0)
telnet客户端程序
摘要:#include #include #include #include #include #include #include #include #include #define DO 0xfd #define WONT 0xfc #define WILL 0xfb #define DONT 0xfe #define CMD 0xff #define CMD_ECHO 1 #d... 阅读全文
posted @ 2019-04-10 16:57 soldierback 阅读(795) 评论(0) 推荐(0)
TCP简单回射程序
摘要:一、程序功能 (1)客户从标准输入读入一行文本行,并写给服务器; (2)服务器从网络输入读入这行文本,并回射给客户; (3)客户从网络输入读入这行回射文本,并显示在标准输出上 二、服务器程序 三、客户端程序 阅读全文
posted @ 2019-04-08 20:57 soldierback 阅读(725) 评论(0) 推荐(0)
getsockname和getpeername函数
摘要:1、函数用途 getsockname:获取与某个套接字关联的本地协议地址 getpeername:获取与某个套接字关联的外地协议地址 2、需要这两个函数的原因 (1)在一个没有调用bind的TCP客户上,connect成功后,getsockname用于获取由内核赋予该连接的本地IP地址和本地端口号; 阅读全文
posted @ 2019-04-08 13:25 soldierback 阅读(1309) 评论(0) 推荐(0)
close函数
摘要:通常的UNIX close函数也用来关闭套接字,并终止TCP连接 (1)close一个TCP套接字的默认行为是把该套接字标记成已关闭,然后立即返回调用进程,该套接字描述符不能再由调用进程使用; (2)close一个TCP套接字后,TCP将尝试发送已排队等待发送到对端的任何数据; (3)如果想在某个T 阅读全文
posted @ 2019-04-08 12:57 soldierback 阅读(1091) 评论(0) 推荐(0)
TCP时间获取程序
摘要:一、服务器程序 二、显示客户IP地址和端口号的服务器程序 三、并发服务器程序 四、客户端程序 阅读全文
posted @ 2019-04-08 12:12 soldierback 阅读(708) 评论(0) 推荐(0)
listen函数
摘要:(1)当socket函数创建一个套接字时,它被假定为一个主动套接字;listen函数把一个未连接的套接字转换成一个被动套接字; (2)listen函数的第二个参数规定了内核应该为相应套接字排队的最大连接数 (3)内核为任何一个给定的监听套接字维护两个队列: I. 未完成队列,每个SYN分节对应其中的 阅读全文
posted @ 2019-04-08 11:30 soldierback 阅读(645) 评论(0) 推荐(0)
基本套接字编程
摘要:一、基本TCP客户/服务器程序的套接字函数 二、socket函数的family常值 三、socket函数的type常值 四、socket函数AF_INET或AF_INET6的protocol常值 五、socket函数中family和type参数的组合 阅读全文
posted @ 2019-04-08 11:13 soldierback 阅读(134) 评论(0) 推荐(0)
readline.c
摘要:一、第一版 二、改进版 阅读全文
posted @ 2019-04-08 10:45 soldierback 阅读(515) 评论(0) 推荐(0)
writen.c
摘要:#include #include ssize_t writen(int fd, const void *vptr, size_t n) { size_t nleft; ssize_t nwritten; const char *ptr; ptr = vptr; nleft = n; while (nleft > 0) { ... 阅读全文
posted @ 2019-04-08 10:44 soldierback 阅读(239) 评论(0) 推荐(0)
readn.c
摘要:#include #include ssize_t readn(int fd, void *vptr, size_t n) { size_t nleft; ssize_t nread; char *ptr; ptr = vptr; nleft = n; while (nleft > 0) { if ( (nread = re... 阅读全文
posted @ 2019-04-08 10:43 soldierback 阅读(182) 评论(0) 推荐(0)
调用write()写
摘要:一、在POSIX中的定义 二、返回值 (1)执行成功时返回写入的字节数; (2)出错时,返回-1,并设置errno的值 三、部分写 阅读全文
posted @ 2019-04-07 22:42 soldierback 阅读(279) 评论(0) 推荐(0)
通过read()读文件
摘要:一、在POSIX中的定义 二、调用read()的可能结果 2.1 返回值为len;读取到的所有len个字节都被存储在buf中,结果和预期的一致; 2.2 返回值小于len大于0;读取到的字节被存储到buf中,原因: (1)在读取过程中信号中断或在读取中出错; (2)可读的数据大于0字节小于len字节 阅读全文
posted @ 2019-04-07 22:34 soldierback 阅读(1968) 评论(0) 推荐(0)
sock_ntop.c
摘要:#include #include #include #include #include #include #include char *sock_ntop(const struct sockaddr *sa, socklen_t salen) { char portstr[8]; static char str[128]; sw... 阅读全文
posted @ 2019-04-07 21:34 soldierback 阅读(315) 评论(0) 推荐(0)
淘淘商城之Ajax跨域请求
摘要:一、什么是跨域 (1)域名不同时; (2)域名相同,端口不同时 二、解决方法 可以使用jsonp解决跨域问题 三、什么是jsonp jsonp其实是一个跨域解决方案,js跨域请求数据是不允许的,但是跨域请求js脚本是可以的;可以把数据封装成一个js语句,做一个方法的调 用,跨域请求js脚本可以得到此 阅读全文
posted @ 2019-04-07 19:08 soldierback 阅读(281) 评论(0) 推荐(0)
在安卓上用Termux安装sqlmap
摘要:1、打开Termux执行以下命令 2、从github上下载sqlmap ,命令如下 3、安装完成后cd进sqlmap目录,命令如下 4、用python2运行sqlmap.py 阅读全文
posted @ 2019-04-07 16:35 soldierback 阅读(4079) 评论(0) 推荐(0)
地址转换函数
摘要:一、第一组地址转换函数 二、第二组地址转换函数 阅读全文
posted @ 2019-04-07 11:22 soldierback 阅读(436) 评论(0) 推荐(0)
字节操作函数
摘要:一、类型 (1)以空字符结尾的C字符串是由在<string.h>头文件中定义、名字以str开头的函数处理的; (2)名字以b开头的第一组函数起源于4.2BSD,几乎所有现今支持套接字函数的系统仍然提供它们; (3)名字以men开头的第二组函数起源于ANSI C标准,支持ANSI C函数库的所有系统都 阅读全文
posted @ 2019-04-06 23:13 soldierback 阅读(426) 评论(0) 推荐(0)
主机字节序和网络字节序
摘要:一、网络字节序 网际协议使用大端字节序来传送多字节整数 二、确定主机字节序 三、主机字节序和网络字节序的转换 阅读全文
posted @ 2019-04-06 22:56 soldierback 阅读(292) 评论(0) 推荐(0)
套接字地址结构的比较
摘要: 阅读全文
posted @ 2019-04-06 14:02 soldierback 阅读(177) 评论(0) 推荐(0)
IPv6套接字地址结构
摘要: 阅读全文
posted @ 2019-04-06 13:59 soldierback 阅读(141) 评论(0) 推荐(0)
通用套接字地址结构
摘要:一、通用套接字地址结构 二、新的通用套接字地址结构 阅读全文
posted @ 2019-04-06 13:55 soldierback 阅读(197) 评论(0) 推荐(0)
IPv4套接字地址结构
摘要:一、IPv4套接字地址结构(POSIX定义) (1)长度字段sin_len是为增加对OSI协议的支持而随4.3BSD-Reno添加的;并不是所有的厂家都支持套接字地址结构的长度字段,而且POSIX规范也不 要求有这个成员; (2)POSIX规范只需要这个结构中的3个字段:sin_family、sin 阅读全文
posted @ 2019-04-06 13:39 soldierback 阅读(433) 评论(0) 推荐(0)
Telnet Protocol Specification
摘要:Network Working Group J. Postel Request for Comments: 854 J. Reynolds ... 阅读全文
posted @ 2019-04-05 21:24 soldierback 阅读(193) 评论(0) 推荐(0)
淘淘商城之前台系统架构
摘要:一、架构图 二、前台系统组成 1)服务层web工程;功能是发布服务; 2)表现层;展示页面,没有业务逻辑,调用服务层提供的服务 三、为什么需要分层进行架构 1)分层就是按照功能把系统切分细分,细分之后能分布式部署、引入伸缩性、提高性能; 2)采用分层架构有利于系统的维护和扩展,这其实就是系统的可维护 阅读全文
posted @ 2019-04-05 14:59 soldierback 阅读(375) 评论(0) 推荐(0)
CSS选择器之基本选择器
摘要:一、通用选择器 二、类型选择器 三、类选择器 四、ID选择器 五、属性选择器 阅读全文
posted @ 2019-04-02 11:25 soldierback 阅读(198) 评论(0) 推荐(0)
JS数据类型
摘要:一、数据类型 ECMAScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String;还有一种 复杂数据类型:Object;Object本质上是由一组无序的名值对组成 二、检测给定变量的数据类型 对一个值使用typeof操作可能返回下 阅读全文
posted @ 2019-04-02 10:36 soldierback 阅读(155) 评论(0) 推荐(0)
JS严格模式
摘要:ECMAScript 5引入了严格模式的概念;严格模式是为JavaScript定义了一种不同的解析与执行模型;在严格模式下, ECMAScript 3中的一些确定的行为将得到处理,而且对某些不安全的操作也会抛出错误;要在整个脚本中启用严格模式, 可以在顶部添加如下代码: 在函数内部的上方包含这条编译 阅读全文
posted @ 2019-04-02 10:27 soldierback 阅读(566) 评论(0) 推荐(0)
JS在Html中使用JavaScript
摘要:一、三种方式 1)<script>元素 2)外部文件 3)文档模式 二、<script>元素 是向HTML页面插入JavaScript的主要方法;HTML 4.01为<script>定义了下列6个属性; 1)async:可选;表示应该立即下载脚本,但不妨碍页面中的其他操作;只对外部脚本文件有效; 2 阅读全文
posted @ 2019-04-01 22:22 soldierback 阅读(658) 评论(0) 推荐(0)
JS简史
摘要:一、产生背景 1)在JavaScript问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,是否输入了无效的值; 2)为完成简单的表单验证而频繁地与服务器交换数据只会加重用户的负担; 3)Netscape公司决定着手开发一种客户端语言,用来处理这种简单的验证 二、JavaScr 阅读全文
posted @ 2019-04-01 21:52 soldierback 阅读(198) 评论(0) 推荐(0)
淘淘商城之SSM框架整合概要
摘要:一、后台系统所用的技术 1)框架:Spring + SpringMVC + Mybatis; 2)前端:EasyUI; 3)数据库:mysql 二、创建数据库 1)安装mysql数据库; 2)在mysql中创建一个taotao数据库; 3)导入数据库脚本 三、数据库脚本下载链接 链接: https: 阅读全文
posted @ 2019-04-01 15:11 soldierback 阅读(510) 评论(0) 推荐(0)
淘淘商城之配置工程
摘要:一、工程结构 二、web.xml 三、配置tomcat插件 1)运行web工程需要添加一个tomcat插件; 2)插件必须添加到taotao-manager工程中,因为taotao-manager是聚合工程,在运行时需要把子工程聚合到一起才能运行 3)启动tomcat命令:tomcat7:run 阅读全文
posted @ 2019-04-01 14:32 soldierback 阅读(343) 评论(0) 推荐(0)
淘淘商城之创建工程
摘要:一、创建taotao-parent 1.1 创建maven工程 1.2 修改pom文件 1.3 将taotao-parent安装到本地仓库 二、创建taotao-common 2.1 创建maven工程 2.2 更新工程 工程点击右键→maven→update Project Configurati 阅读全文
posted @ 2019-04-01 14:18 soldierback 阅读(341) 评论(0) 推荐(0)
淘淘商城之后台管理系统工程结构
摘要:一、maven 1)依赖管理。jar包、工程之间的依赖; 2)项目构建。实现项目的一步构建; 3)工程聚合、继承、依赖 二、maven的工程类型 1)war包工程; 2)Jar包工程; 3)Pom工程 三、maven本地仓库 1)在当前系统用户的文件夹下,例如当前用户是Administrator那么 阅读全文
posted @ 2019-04-01 13:29 soldierback 阅读(469) 评论(0) 推荐(0)
淘淘商城之技术选型、开发工具和环境、人员配置
摘要:一、技术选型 1)Spring、SpringMVC、Mybatis 2)JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文本编辑器)、CSS+DIV 3)Redis(缓存服务器) 4)Solr(搜索) 5)httpclient(调用系统服务) 6)M 阅读全文
posted @ 2019-04-01 12:54 soldierback 阅读(465) 评论(0) 推荐(0)
淘淘商城之功能架构和技术架构
摘要:一、功能架构 1.1 系统功能图 1.2 功能描述 1)后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能; 2)前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作; 3)会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息; 阅读全文
posted @ 2019-04-01 12:46 soldierback 阅读(2209) 评论(0) 推荐(0)
淘淘商城之商城简介
摘要:一、电商行业的模式 1)B2B:企业到企业,商家到商家; 2)B2C:商家到客户; 3)C2C:客户到客户; 4)O2O:线上到线下; 5) 二、淘淘商城简介 1)淘淘网上商城是一个综合性的B2C平台,类似京东商城、天猫商城; 2)会员可以在商城浏览商品、下订单,以及参加各种活动; 3)管理员、运营 阅读全文
posted @ 2019-04-01 12:32 soldierback 阅读(785) 评论(0) 推荐(0)