08 2012 档案

摘要:1.典型的UDP客户/服务器程序函数调用图2. recvfrom和sendto函数#include <sys/socket.h>ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_... 阅读全文
posted @ 2012-08-11 23:21 天天520 阅读(3107) 评论(0) 推荐(1)
摘要:1. 概述I/O复用使用场合:当客户处理多个描述符(通常是交互式输入和网络套接字)时,必须要使用I/O复用;一个客户同时处理多个套接字(比较少见);如果一个TCP服务器既要处理监听套接字,又要处理已连接的套接字,一般要使用I/O复用;如果一个服务器要处理多个服务或者多个协议,一般要使用I/O复用另外I/O复用并非只限于网络编程,还有许多重要程序也会用到这项技术。2. I/O模型阻塞式I/O模型非阻塞式I/O模型I/O复用模型信号驱动I/O模型异步I/O模型3. select函数1)函数作用:允许进程指示内核等待多个事件中的一个发生, 并只在有一个或多个事件发生,或通过定时唤醒它。(前面说的同时 阅读全文
posted @ 2012-08-08 11:05 天天520 阅读(1398) 评论(0) 推荐(0)
摘要:1. IPV4地址结构:#include <netinet/in.h>struct in_addr{ int_addr_t s_addr; //一般为uint32_t};struct sockaddr_in{ uint8_t sin_len; //一般用不上 sa_family_t sin_family; //通常是uint_8 in_port_t sin_port; //一般为uint16_t struct int_addr sin_addr; c... 阅读全文
posted @ 2012-08-05 11:55 天天520 阅读(360) 评论(0) 推荐(0)
摘要:1. TCP回射示例服务器代码View Code #include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#define SRV_PORT 8888#define MAXLINE 4096void str_echo(int fd);int main(int argc, char **argv){ int listenfd = sock 阅读全文
posted @ 2012-08-05 11:37 天天520 阅读(881) 评论(0) 推荐(0)
摘要:1. socket函数#include <sys/socket.h>//成功返回非负,失败返回-1int socket(int family, int type, int protocol);参数说明:family指明协议族取值如下图type指明套接字类型protocol指明协议当Protocol值为0时系统根据family和type的组合指定默认值关于AF_XXX和PF_XXX AF_前缀表示地址族,PF_前缀表示协议族。历史想法:单个协议族可以支持多个地址族,PF_值用于创建套接字,AF_值用于套接字地址结构。实际上支持多个地址族的协议族从来没实现过,现<sys/sock 阅读全文
posted @ 2012-08-05 08:43 天天520 阅读(2404) 评论(0) 推荐(0)