当前位置 : 主页 > 编程语言 > c++ >

C/C++网络编程3——实现基于TCP的服务器端/客户端

来源:互联网 收集:自由互联 发布时间:2021-06-23
一、TCP服务器调用顺序: 调用socket函数创建套接字;声明并初始化地址信息结构体变量;调用bind函数向套接字分配地址;调用listen函数进入等待连接请求状态,只有调用了listen函数后

一、TCP服务器调用顺序:

 

   调用socket函数创建套接字;声明并初始化地址信息结构体变量;调用bind函数向套接字分配地址;调用listen函数进入等待连接请求状态,只有调用了listen函数后客户端才能调用connet函数,调用listen函数时,若请求队列为空,listen函数不会返回。

#include <sys/socket.h>

// 成功返回0,失败返回-1 int listen(int sock, int backlog); sock : 希望进入等待连接请求状态的套接字文件描述符 backlog : 请求等待队列的长度

  调用listen函数以后,若有连接请求,则应调用accept函数按序受理。

#include <sys/socket.h>

// 成功返回创建的套接字文件描述符,失败返回-1 int accept(int sock, struct sockaddr * addr, socklen_t * addrlen); sock : 服务器套接字的文件描述符 addr : 保存发起连接请求的客户端地址信息的变量地址值 addrlen : 保存参数addr结构体的长度

 

二、TCP客户端调用顺序:

 

 

#include <sys/socket.h>

int sonnect(int sock, struct sockaddr * aservaddr, socklen_t addrlen);
sock : 客户端套接字文件描述符
servaddr : 服务器端地址
addrlen : 服务器端地址长度

  客户端的IP地址和端口在调用connect函数的时候自动分配,无需调用标记的bind函数进行分配。

 

三、TCP服务器端和客户端函数调用关系:

上一篇:Break up CF700C
下一篇:string类
网友评论