发布于2026-07-20 阅读(0)
扫一扫,手机访问
在CentOS上搭建C++网络编程环境,其实比想象中要简单。只要几个关键步骤,就能让系统准备好写socket、处理SSL/TLS的活儿。不过,别急着写代码,先把底子打好。

下面按顺序来,每一步都拎得清。
更新系统:别嫌麻烦,先跑一遍sudo yum update,把系统包拉到最新。这步能避免很多版本兼容的坑。
sudo yum update
安装编译器:C++编程离不开GCC。CentOS默认可能已经装了,但最好确认一下:
gcc --version
g++ --version
如果没装,也别慌,一行命令搞定:
sudo yum install gcc g++
注意,这里g++包名可能写成gcc-c++,但实际安装时g++也能识别。如果不放心,搜一下yum search g++。
安装网络编程库:基础socket库是系统自带的,但如果你需要SSL/TLS加密(比如写HTTPS服务器),就得装openssl开发包。安装命令:
sudo yum install openssl-devel
这个包提供头文件和链接库,编译时用-lssl -lcrypto链接。
编写网络程序:随便找个文本编辑器,创建server.cpp或client.cpp。下面是一个经典的TCP服务器示例,监听8080端口,接收一次数据就打印出来:
#include
#include
#include
#include
int main() {
int server_fd, new_socket;
struct sockaddr_in address;
int opt = 1;
int addrlen = sizeof(address);
// Creating socket file descriptor
if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) {
perror("socket failed");
exit(EXIT_FAILURE);
}
// Forcefully attaching socket to the port 8080
if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT,
&opt, sizeof(opt))) {
perror("setsockopt");
exit(EXIT_FAILURE);
}
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(8080);
// Forcefully attaching socket to the port 8080
if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) {
perror("bind failed");
exit(EXIT_FAILURE);
}
if (listen(server_fd, 3) < 0) {
perror("listen");
exit(EXIT_FAILURE);
}
if ((new_socket = accept(server_fd, (struct sockaddr *)&address,
(socklen_t*)&addrlen)) < 0) {
perror("accept");
exit(EXIT_FAILURE);
}
// Read data from the socket
char buffer[1024] = {0};
read(new_socket, buffer, 1024);
std::cout << buffer << std::endl;
// Close the socket
close(new_socket);
close(server_fd);
return 0;
}
这段代码虽然简单,但涵盖了socket创建、绑定、监听、接受连接和读取数据的基本流程。实际项目中记得加错误处理,否则生产环境一崩一个准。
编译网络程序:用g++编译,如果用了openssl,记得加上链接参数:
g++ server.cpp -o server -lssl -lcrypto
如果不涉及SSL,直接g++ server.cpp -o server就行。
运行网络程序:编译成功就试试:
./server
服务器会在后台等待连接。你可以用telnet localhost 8080或者写个客户端测试。
最后提醒一句:这只是一个入门配置。真实场景要考虑更多——比如线程安全、非阻塞I/O、连接池、安全加密(TLS 1.3以上)等等。总之,先把基础跑通,再慢慢往深走。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8