当前位置: 首页 > article >正文

【c++实现tcp客户端】

Question

c++实现tcp客户端

Answer

下面是一个简单的 C++ TCP 客户端实现示例。这个示例使用 POSIX 套接字 API,因此适用于类 Unix 系统(如 Linux 或 macOS)。

请确保在编译时链接 -pthread-std=c++11 或更高版本的标准。

#include <iostream>
#include <cstring> // 为了使用 memset
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h> // 为了使用 close
#include <string>

int main() {
    // 创建套接字
    int sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if (sockfd < 0) {
        std::cerr << "创建套接字失败" << std::endl;
        return -1;
    }

    // 设置服务器地址
    struct sockaddr_in server_addr;
    memset(&server_addr, 0, sizeof(server_addr)); // 清空结构体
    server_addr.sin_family = AF_INET; // IPv4
    server_addr.sin_port = htons(8080); // 端口号
    server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); // 服务器 IP 地址

    // 连接到服务器
    if (connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
        std::cerr << "连接服务器失败" << std::endl;
        close(sockfd);
        return -1;
    }

    // 发送消息到服务器
    std::string message = "Hello, Server!";
    send(sockfd, message.c_str(), message.size(), 0);

    // 关闭套接字
    close(sockfd);
    std::cout << "消息已发送,客户端退出" << std::endl;

    return 0;
}

编译和运行

可以使用以下命令编译和运行代码(假设文件名为 tcp_client.cpp):

g++ tcp_client.cpp -o tcp_client -pthread -std=c++11
./tcp_client

注意事项

  1. 确保在运行客户端之前,目标服务器(例如,一个 TCP 监听端口的服务器)是可用的。
  2. 代码中指定的服务器地址和端口(127.0.0.1:8080)可以根据需要进行修改。

http://www.kler.cn/news/341099.html

相关文章:

  • 前端模块化CommonJs、ESM、AMD总结
  • 【PGCCC】在 Postgres 上构建图像搜索引擎
  • 详情说明HTTP/2和HTTP/3两者间的区别
  • 影刀RPA在智能客服上的运用
  • 水污染急需机器人,材料局限遇难题,MXene 水凝胶有潜力
  • 21-DevOps项目发布一体化平台构建及应用实践
  • 使用fastjson解析json格式数据
  • 【海思方案的4G低功耗抓拍摄像机模组方案】
  • 关于学习神经网络的一些感悟
  • 【多线程】多线程(10):常见锁策略,锁原理,CAS
  • 欧姆龙(Omron)协议解析
  • uniapp 设置 tabbar 的 midButton 按钮
  • 软考新教程10月出版?11月软考会用到新内容吗?
  • excel表格转换为在线成绩查询怎么制作?
  • 2024年区块链钱包现状与未来趋势分析
  • 微信小程序处理交易投诉管理,支持多小程序,一键授权模式
  • LangChain入门
  • 串接模式对网络性能的影响
  • [实时计算flink]双流JOIN语句
  • [每日一练]利用子查询配合union all进行全连接后丢失数据的查询