TCP服务器的创建步骤:
- 一、创建套接字(socket函数):
- 通信域选择IPV4网络协议、套接字类型选择流式;
int sockfd = socket(AF_INET,SOCK_STREAM,0); //通信域选择IPV4、套接字类型选择流式
- 二、填充服务器的网络信息结构体:
- 1.定义网络信息结构体变量;
- 2.求出结构体变量的内存空间大小;
- 3.结构体清零;
- 4.使用IPV4网络协议;
- 5.预留给在终端输入的网络字节序的端口号;
- 6.预留给在终端输入的IP地址;
struct sockaddr_in serveraddr; //定义网络信息结构体变量
socklen_t serveraddrlen = sizeof(serveraddr);//求出结构体变量的内存空间大小
memset(&serveraddr,0,serveraddrlen); //结构体清零
serveraddr.sin_family = AF_INET; //使用IPV4网络协议
serveraddr.sin_addr.s_addr = inet_addr(argv[1]); //IP地址
serveraddr.sin_port = htons(atoi(argv[2]));//网络字节序的端口号
- 三、套接字和服务器的网络信息结构体进行绑定(bind函数):
int ret = bind(sockfd,(struct sockaddr *)&serveraddr,serveraddrlen);
- 四、套接字设置成被动监听(listen函数):
int ret1 = listen(sockfd, 5);
- 五、阻塞等待客户端的连接(accept函数):
int acceptfd = accept(sockfd, (struct sockaddr *)&clientaddr, &clientaddr_len);
- 六、接收来自客户端的数据(recv函数)和给客户端发送应答消息(send函数):
int nbytes = recv(acceptfd,buf,sizeof(buf),0);
printf("客户端发来数据[%s]\n",buf);
strcat(buf,"----k"); //组装应答消息
int ret2 = send(acceptfd,buf,sizeof(buf),0);
- 七、关闭套接字(close函数):
close(acceptfd);
close(sockfd);
TCP客户端的创建步骤:
- 一、创建套接字(socket函数):
- 通信域选择
IPV4网络协议
、流式套接字
;
int sockfd = socket(AF_INET,SOCK_STREAM,0);
- 二、填充服务器的网络信息结构体(struct sockaddr_in serveraddr):
- 1.定义网络信息结构体变量;
- 2.求出结构体变量的
内存空间大小
; - 3.结构体
清零
; - 4.使用
IPV4网络协议
; - 5.预留给在终端输入的
网络字节序的端口号
; - 6.预留给在终端输入的
IP地址
;
struct sockaddr_in serveraddr;
socklen_t serveraddrlen = sizeof(serveraddr);
memset(&serveraddr,0,serveraddrlen);
serveraddr.sin_family = AF_INET;
serveraddr.sin_addr.s_addr = inet_addr(argv[1]);
serveraddr.sin_port = htons(atoi(argv[2]));
- 三、与服务器端建立连接(connect函数):
int ret = connect(sockfd,(struct sockaddr *)&serveraddr,serveraddrlen);
- 四、向服务器发送数据(send函数)和接收来自服务器端的应答消息(recv函数):
//向服务器发送数据
send(sockfd,buf,sizeof(buf),0);
//接收来自服务器端的应答消息
recv(sockfd,buf,sizeof(buf),0);
printf("应答:[%s]\n",buf);
- 五、关闭套接字(close函数):
close(sockfd);
文章来源地址https://www.toymoban.com/news/detail-796261.html
文章来源:https://www.toymoban.com/news/detail-796261.html
到了这里,关于TCP服务器和客户端的创建步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!