TCP Server端实现
C/S模型
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/bf5d9ea27d6d56ea27a5384b77dee369.png)
Server 端功能分析
void vTcpServerTask(void){
int sfd, cfd, n, i;
struct sockaddr_in server_addr, client_addr;
socklen_t client_addr_len;
sfd = socket(AF_INET, SOCK_STREAM, 0);
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(SERVER_PORT);
server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
bind(sfd, (struct sockaddr *)&server_addr, sizeof(server_addr));
listen(sfd, 5);
client_addr_len = sizeof(client_addr);
cfd = accept(sfd, (struct sockaddr *)&client_addr, &client_addr_len);
printf("client is connect cfd = %d\r\n",cfd);
while(1){
n = read(cfd, ReadBuff, BUFF_SIZE);
for(i = 0; i < n; i++){
ReadBuff[i] = toupper(ReadBuff[i]);
}
write(cfd, ReadBuff, n);
}
}