在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
),具體參考庫的文檔。