C++多线程多进程服务器muduo函数查询表(一)

      本文记录下本人在写服务器过程中遇到的一些相关函数,其具体详解参考给定的参考网址,本文只是做个记录,便于以后再次查询相关函数:

1.(setsockopt(listen_fd, SOL_SOCKET,  SO_REUSEADDR, &optval, sizeof(optval)) == -1)
    允许重用地址!!!消除bind时"Address already in use"错误
    http://www.cnblogs.com/eeexu123/p/5275783.html

2、struct sockaddr_in
    处理网络通讯的地址
    https://blog.csdn.net/will130/article/details/53326740

3、bzero(void *s, int n) 
    将字符串的前n个字节清零。bzero函数TC和VC中都被memset代替,gcc中还保留了bzero
    http://www.cnblogs.com/loanhicks/p/7341692.html
4、htonl()
    把本机字节序转换成网络字节序(大端模式)
    https://blog.csdn.net/yaxiya/article/details/6722083
5、htons()
    htonl()--"Host to Network Long"
    ntohl()--"Network to Host Long"
    htons()--"Host to Network Short"
    ntohs()--"Network to Host Short"
    https://blog.csdn.net/u010355144/article/details/44964181

6、signal(SIGCHLD, SIG_IGN);    //SIG_IGN---表示忽略
       并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。
    如果将此信号的处理方式设为忽略,可让内核把僵尸子进程转交给init进程去处理,
    省去了大量僵尸进程占用系统资源。(Linux Only)
    https://blog.csdn.net/xinguan1267/article/details/17357093

7、 signal(SIGPIPE,SIG_IGN);    
    当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,
    client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,
    告诉进程这个连接已经断开了,不要再写了。
    http://www.cppblog.com/elva/archive/2008/09/10/61544.html

8、pthread_mutex_init()
    互斥锁的初始化
    https://blog.csdn.net/yasi_xi/article/details/19112077

9、pthread_create()
    创建线程
    https://blog.csdn.net/youbang321/article/details/7815707

10、pthread_cond_wait()
    pthread_cond_wait() 用于阻塞当前线程,等待别的线程使用pthread_cond_signal()
    或pthread_cond_broadcast来唤醒它。(传入条件变量和互斥锁)
    https://blog.csdn.net/hudashi/article/details/7709421
    http://www.cnblogs.com/hnrainll/archive/2011/12/14/2287378.html

11、(fcntl(fd, F_SETFL, flag) == -1)   
    查看fd文件的状态标志,并确定其是否为非阻塞
    https://www.cnblogs.com/xuyh/p/3273082.html

12、epoll_ctl(epoll_fd, EPOLL_CTL_ADD, fd, &event)
    结构体epoll_event被用于注册所感兴趣的事件和回传所发生待处理的事件
    https://blog.csdn.net/sjin_1314/article/details/8240511

13、listen()中函数地址为0的情况
    https://blog.csdn.net/ye_i_qi/article/details/52808447

14、    struct timeval                  //求当前时间
    {
        __time_t tv_sec;        /* Seconds. */
        __suseconds_t tv_usec;  /* Microseconds. */
    };
    https://blog.csdn.net/lyc_daniel/article/details/11733715

15、readn()、writen()函数
    读写write管道、FIFO、终端和socket时,很可能     应该继续读写余下的数据
    https://blog.csdn.net/robbie2046/article/details/7090062

16、http协议中get与post
    get是从服务器上获取数据,post是向服务器传送数据
    https://blog.csdn.net/fuyuwei2015/article/details/46446439

17、imencode()和imdecode() 用于网络传输图片
    OpenCV中的cv::imdecode函数是从指定的内存缓存中读一幅图像,而cv::imencode是将一幅图像写进内存缓存中
    https://blog.csdn.net/fengbingchun/article/details/60780232

18、opencv中的Mat类
    Mat类是OpenCV里使用广泛的一个类,其中我认为最重要的一个作用就是作为存储图像的数据结构
    在存储的图像不管是彩色的还是灰度图像,都是二维的矩阵
    https://blog.csdn.net/lhanchao/article/details/52356343

19、int stat(const char *file_name, struct stat *buf)
    函数说明:    通过文件名filename获取文件信息,并保存在buf所指的结构体stat中
    http://www.cnblogs.com/hnrainll/archive/2011/05/11/2043361.html

20、mmap(NULL, sbuf.st_size, PROT_READ, MAP_PRIVATE, src_fd, 0)
    函数说明:mmap系统调用使得进程之间通过映射同一个普通文件实现共享内存
    http://www.cnblogs.com/xmphoenix/archive/2011/08/20/2146938.html    

21、mmap()和shmat()建立共享内存的区别
    https://blog.csdn.net/hj605635529/article/details/73163513

22、pthread_cond_signal(pthread_cond_t *cond)
    用来在条件满足时,给正在等待的对象发送信息,表示唤醒该条件变量,
    一般和pthread_cond_wait函数联合使用
    https://blog.csdn.net/choice_jj/article/details/7492458
    https://blog.csdn.net/hudashi/article/details/7709421

你可能感兴趣的:(c++服务器,c++,服务器,多线程,多进程,Linux)