用C++写一个tcp服务器
时间: 2023-11-27 08:05:27 浏览: 30
好的,以下是一个简单的TCP服务器的C++代码示例:
```cpp
#include <iostream>
#include <cstring>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
using namespace std;
int main() {
// 创建socket对象
int server_socket = socket(AF_INET, SOCK_STREAM, 0);
// 获取本地主机名和端口
char* host = "127.0.0.1";
int port = 12345;
// 绑定端口号
struct sockaddr_in server_address;
server_address.sin_family = AF_INET;
server_address.sin_port = htons(port);
inet_pton(AF_INET, host, &server_address.sin_addr);
bind(server_socket, (struct sockaddr*)&server_address, sizeof(server_address));
// 设置最大连接数,超过后排队
listen(server_socket, 5);
while (true) {
// 等待客户端连接
int client_socket = accept(server_socket, NULL, NULL);
// 向客户端发送消息
const char* msg = "欢迎访问服务器!\n";
send(client_socket, msg, strlen(msg), 0);
// 关闭连接
close(client_socket);
}
// 关闭socket对象
close(server_socket);
return 0;
}
```
这个简单的TCP服务器会监听本地的12345端口,并接受来自客户端的连接。当有客户端连接时,服务器会向客户端发送一条欢迎消息,然后关闭连接。