C++网络编程

Posted 一叶知秋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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交流。

 

以上是关于C++网络编程的主要内容,如果未能解决你的问题,请参考以下文章

c++ 求解 编程高手

c++编程用啥软件好

怎样学好C++编程语言

现代C++函数式编程

C++网络编程

C++核心编程