在Ubuntu上配置C++网络编程环境,需安装基础开发工具和网络库,以下是具体步骤:
sudo apt update
sudo apt install build-essential # 安装g++、make等编译工具
sudo apt install libboost-all-dev
sudo apt install libcurl4-openssl-dev
// server.cpp
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
#include <cstring>
int main() {
int server_fd, new_socket;
struct sockaddr_in address;
char buffer[1024] = {0};
// 创建socket
if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) {
perror("socket failed");
return -1;
}
// 绑定端口
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(8080);
bind(server_fd, (struct sockaddr *)&address, sizeof(address));
// 监听连接
listen(server_fd, 3);
// 接受连接并处理
if ((new_socket = accept(server_fd, NULL, NULL)) >= 0) {
read(new_socket, buffer, 1024);
printf("Received: %s\n", buffer);
send(new_socket, "Hello from server", 17, 0);
close(new_socket);
}
close(server_fd);
return 0;
}
g++ -o server server.cpp
./server & # 后台运行服务器
g++ -o server server.cpp -lboost_system -pthread
./server 12345 # 指定端口
telnet
或nc
工具连接服务器:telnet 127.0.0.1 8080
输入数据后,服务器会回显响应。说明:
<sys/socket.h>
等)适用于基础网络编程,无需额外安装库。-lboost_system
),具体参考库的文档。