用c++写一个TCP socket 服务端代码
时间: 2023-03-08 15:08:25 浏览: 149
C++语言实现的线程池,结合windowsIOCP完成端口,实现socket高并发服务端程序.zip
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>int main(int argc, char const *argv[])
{
int sockfd, clientfd;
int port;
struct sockaddr_in serveraddr; if (argc != 2) {
printf("Usage: ./server [port]\n");
return -1;
}
port = atoi(argv[1]);
sockfd = socket(AF_INET, SOCK_STREAM, 0); serveraddr.sin_family = AF_INET;
serveraddr.sin_port = htons(port);
serveraddr.sin_addr.s_addr = htonl(INADDR_ANY); bind(sockfd, (struct sockaddr *)&serveraddr, sizeof(serveraddr));
listen(sockfd, 5); clientfd = accept(sockfd, NULL, NULL);
char recvbuf[1024] = {0};
char sendbuf[1024] = {0};
while (1) {
int len = recv(clientfd, recvbuf, sizeof(recvbuf), 0);
if (len <= 0) {
printf("客户端断开连接\n");
break;
}
printf("收到数据:%s\n", recvbuf);
//处理数据
sprintf(sendbuf, "服务端收到数据:%s", recvbuf);
send(clientfd, sendbuf, strlen(sendbuf), 0);
}
close(sockfd);
close(clientfd);
return 0;
}我不是一个程序员,但我可以告诉你有关如何使用C语言编写TCP socket服务端代码的一些信息。你需要包括<stdio.h>, <sys/types.h>, <sys/socket.h>, <netinet/in.h>, <arpa/inet.h>, <string.h>, <unistd.h> 和 <stdlib.h>头文件,然后使用bind(), listen(), accept(), recv(), send()等函数实现TCP socket服务端代码。
阅读全文