socketint socket (int domain, int type, int protocol)
功能描述:初始化创建socket对象。
socket返回值:成功返回非负数的socket描述符;失败返回-1。socket描述符是一个指向内部数据结构的指针,它指向描述符表入口。
笔者使用Mac OS,采用kqueue(os free based)实现io多路复用。LInux下可使用epoll 。
每一个进程都在进程控制块(PCB)中有一份文件描述符表,而文件描述符就是这个表的索引。这张表中有一项是指向file结构体,file结构体是内核中用来描述文件属性的结构体。
1 在官网 http://libevent.org 下载最新稳定版压缩安装包
2 解压并执行如下命令
sudo ./configure
sudo make
sudo make install
将安装在 /user/local/ 下,include下是头文件,lib下是动态链接库之类的,bin下也有一些相关文件。
用Xcode编译含libevent的程序,头文件路径和库的查找路径如下配置
此外,我将lib下的库都加了进来。
编译成功!
因为step3想用listen()来侦听一定端口的数据,故使用bind()将套接字和机器上的一定的端口关联起来是必须的步骤。而之前的step1的实现并不需要使用bind()函数。
#include <sys/types.h>
#include <sys/socket.h>
int bind(int sockfd, struct sockaddr *my_addr, int addrlen);
sockfd 是调用 socket 返回的文件描述符。my_addr 是指向数据结构 struct sockaddr 的指针,它保存你的地址(即端口和 IP 地址) 信息。 addrlen 设置为 sizeof(struct sockaddr)。
http://www.cnblogs.com/kefeiGame/p/7246942.html
https://www.cnblogs.com/yuqiao/p/5786427.html
https://blog.csdn.net/liufang1991/article/details/51096258
本文链接:http://task.lmcjl.com/news/6710.html