- 博客(3)
- 收藏
- 关注
原创 select服务端代码模版
void *JBFIpc::IPCommunicateHandle(void *arg){ JBFIpc *m_JBFIpc = (JBFIpc *)arg; int ret = 0; fd_set rset, allset; struct sockaddr_in serveraddr; int i, maxi = -1, maxfd, listenfd, connfd, sockfd, connfdnum = 0; int reuseaddrf..
2021-05-14 09:29:42
173
原创 epoll和select的区别
1、问题引出 联系区别问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要求,大概的解决方案有以下几种:使用多进程或者多线程,但是这种方法会造成程序的复杂,而且对与进程与线程的创建维护也需要很多的开销。(Apache服务器是用的子进程的方式,优点可以隔离用户) 用一个进程,但是...
2018-10-10 14:48:16
374
原创 检查非正常断开的tcp连接
当客户端connect端连接上之后,正常通信一会儿,1.客户端断电或者2.断网或者3.关闭fd,服务器怎么检测到客户端已经断开,并且把对应的sockfd 关闭(close(fd))?1.第一种方法是通过客户端或者服务端开启一个线程不停的发送心跳包,通过心跳包判断客户端存活2.第二种利用recv和send的返回值和产生的errno来判断tcp连接情况1、send非阻塞client/s...
2018-10-09 17:39:53
2300
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人