码迷,mamicode.com
首页 > 编程语言 > 详细

C++网络编程

时间:2016-06-06 23:47:19      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:

最基本的常用函数:

(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交流。

 

C++网络编程

标签:

原文地址:http://www.cnblogs.com/cbyzju/p/5565441.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!