ubuntu

Ubuntu C++如何配置网络编程环境

小樊
43
2025-08-06 03:38:20
栏目: 编程语言

在Ubuntu上配置C++网络编程环境,需安装基础开发工具和网络库,以下是具体步骤:

  1. 安装基础开发工具
    sudo apt update  
    sudo apt install build-essential  # 安装g++、make等编译工具  
    
  2. 安装网络编程库(可选)
    • Boost.Asio(推荐,支持异步IO)
      sudo apt install libboost-all-dev  
      
    • 其他库(如libcurl、POCO):根据需求安装,例如:
      sudo apt install libcurl4-openssl-dev  
      
  3. 编写网络程序
    • 示例:TCP服务器(使用标准库)
      // 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;  
      }  
      
  4. 编译与运行
    • 标准库程序
      g++ -o server server.cpp  
      ./server &  # 后台运行服务器  
      
    • Boost.Asio程序
      g++ -o server server.cpp -lboost_system -pthread  
      ./server 12345  # 指定端口  
      
  5. 测试程序
    • 使用telnetnc工具连接服务器:
      telnet 127.0.0.1 8080  
      
      输入数据后,服务器会回显响应。

说明

0
看了该问题的人还看了