首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深入理解计算机系统(第三版)/ CSAPP 杂谈,第11章:网络编程

    int socket(int domain, int type, int protocol) // 创建套接字描述符,成功返回非负数描述符,失败为-1 int connect(int clientfd, const struct sockaddr *addr, socklen_t addrlen) // 连接服务器,成功为 0,失败为 -1 int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) // 连接客户端,成功为 0,失败为 -1 int listen(int sockfd, int backlog) // 等待客户端连接。此函数将主动套接字转化为监听套接字,成功为 0,失败为 -1 int accept(int listenfd, struct sockaddr *addr, socklen_t addrlen) // 等待来自客户端的连接,成功返回非负数连接描述符,失败为-1 int getaddrinfo(const char* host, const char* service, const struct addrinfo* hints, struct addrinfo** result) // 用于主机名,主机地址,服务名,端口号的字符串表示转换成 addrinfo // addrinfo 是一个列表,客户端调用 getaddrinfo 后需要遍历 result 这个列表,直到某个元素可以执行 socket 和 connect 成功 // host 可以是域名也可以是 ip 地址 // service 可以是服务名(http)或端口号 // hints 用于设置一些参数以便对返回的 result 列表做更好的控制 int getnameinfo(const struct sockaddr *sa, socklen_t salen, char* host, size_t hostlen, char *service, size_t servlen, int flags) // 用于 sockaddr 转换成 主机名,主机地址,服务名,端口号的字符串表示 // 简化版(非 Linux 内核内置) int open_clientfd(char *hostname, char *port) // 客户端连接服务器 int open_listenfd(char* port) // 服务器监听端口

    03

    Tomcat 5的新特性和架构变化

    Tomcat 5的新特性和架构变化 1、支持servlet 2.4 和jsp 2.0; 2、重写了http mapper 模块,从Catalina代码中抽出来放到 coyote connector 中;     coyote connector 是tomcat的进入口,相当于java中的main函数。Http的请求在这里被解码,把http的请求转换成Tomcat可以处理的类。如果开发者想在tomcat中集成一些自己的组件,就需要利用coyote connector 作为一个中间连接器。这里需要说明的是,如果你写一个自己的组件和tomcat集成,这个组建其实是个valve。其实tomcat本身也是基于valve的。学习servlet都知道servlet chain,这是一个链状的处理过程,tomcat处理http请求也是类似的过程,tomcat就是在这些请求中加入不同的valve来实现的; 3、完全支持jmx ,符合jsr 160规范,就是 JMX remote; 4、支持嵌入式的tomcat。就是在你的应用程序中集成tomcat。     集成的方法有3种:1、使用embedded 接口 2、使用JMX 3、第三种就是使用apache连接tomcat的做法(什么原理?); 5、Sun ONE的servlet container 现在开始使用tomcat 了; 相关连接: 地址 Tomcat5 and Sun ONE developer

    06
    领券