Unix网络编程
文章平均质量分 79
一个程序渣渣的小后院
这个作者很懒,什么都没留下…
展开
-
linux网络编程-----TCP连接及相关问题
c/s模型在建立连接时的流程如下//服务器端 int sockfd = socket(AF_INET, SOCK_STREAM, 0);struct sockaddr_in servaddr; bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(8080); serv原创 2017-10-11 22:06:27 · 313 阅读 · 0 评论 -
linux网络编程-----非阻塞connect
libevent在内部由于使用io多路复用函数进行的事件监控,所以它所有的io读写操作都是非阻塞的,换句话说,libevent提供的接口函数evconnlistener_new_bind()和bufferevent_socket_connect()在内部使用socket创建套接字,会默认将其变为非阻塞(使用fcntl可以实现)。比较特殊的就是客户端的connect函数,因为套接字变为非阻塞,所以co原创 2017-10-12 09:11:56 · 906 阅读 · 0 评论 -
linux网络编程-----几种服务器模型及io多路复用函数
libevent实现了对io多路复用函数的封装,复习一下linux下的io复用函数,select,poll,epoll在c/s模型中,要处理多个客户端的请求以达到并发处理的效果,有以下几种方法 主线程accept,多线程处理,为每一个客户端开一个线程 主进程accept,多进程处理,为每一个客户端开一个进程 线程池/进程池,将程序执行过程中线程/进程的创建销毁开销放在程序一开始执行时进行,进一步可以原创 2017-10-11 12:33:58 · 1088 阅读 · 4 评论