C++网络编程

最基本的常用函数:

(1)int  socket(int domain, int type, int protocol);

创建一个套接字,返回值是套接字的id。domain参数告诉系统你想用什么协议族,一般使用的PF_INET指的是UDP,TCP等协议族。type指的是套接字接受数据的方式,共有5种最常用的是SOCK_STREAM, 告诉系统你请求一个值得信赖的流传输服务,这两个参数都定义在sys/socket.h中。 protocol一般是0,没什么意义。。

(2)

struct sockaddr{

unsigned char  sa_len;  //总长度

sa_family_t  sa_family; //地址家族

char  sa_data[14];  //地址值

};

#define DOCK_MAXADDRLEN 255  //最大可能的地址值

struct sockaddr_in{

uint8_t  sin_len;

sa_family_t  sin_family;

in_port_t  sin_port;

struct  in _addr  sin_addr;

char  sin_zero[8];

};

 

(3)  int connect(int  s, const struct  sockaddr*  name, socklen_t namelen);

连接成功返回0,否则返回-1,并将error code存在errno中。s参数是套接字id,也就是socket函数返回值。name指针指向sockaddr。namelen告诉系统sockaddr有多少字节。

服务器端使用的函数:

(4) int bind(int s, const struct sockaddr*  addr, socklen_t  addrlen);

(5) int listen(int s, int backlog);

backlog告诉套接字最大可挂起的套接字数目。

(6) int accept(int s, struct sockaddr*  addr, socklen_t*  addrlen);

accept返回一个新的套接字,你会使用这个新的套接字和client交流。

 

posted @ 2016-06-06 23:06  雨落无声2002  阅读(219)  评论(0编辑  收藏  举报