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

tcp 服务器的设计思路

  1. 创建套接字

    int sockfd = socket(AF_INET, SOCK_STREAM, 0);
    
    • AF_INET:IPv4 协议
    • SOCK_STREAM:TCP 流式套接字
    • 0:默认协议
  2. 绑定 IP 和端口

    struct sockaddr_in serv_addr;
    memset(&serv_addr, 0, sizeof(serv_addr));
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_addr.s_addr = INADDR_ANY; // 任意网卡
    serv_addr.sin_port = htons(8080);      // 端口号
    bind(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
    
  3. 监听连接

    listen(sockfd, 5); // 最大等待队列长度为5
    
  4. 接受连接

    struct sockaddr_in cli_addr;
    socklen_t len = sizeof(cli_addr);
    int connfd = accept(sockfd, (struct sockaddr*)&cli_addr, &len);
    
    • 返回一个新的套接字 connfd 用于与客户端通信
    • 原套接字 sockfd 继续用于接受其他连接
  5. 数据交互

    char buffer[1024];
    recv(connfd, buffer, sizeof(buffer), 0); // 接收数据
    send(connfd, buffer, strlen(buffer), 0); // 发送数据
    
  6. 关闭连接

    close(connfd);
http://www.dtcms.com/a/449192.html

相关文章:

  • 基础架构安全和云原生安全的融合~K8S安全和传统安全~K8S和安全融合~综合安全大饼
  • Python全栈(基础篇)——Day05:后端内容(dict与set+while循环+for循环+实战演示+每日一题)
  • 建设网站用什么软件排版网站建设技术和销售工资
  • UNIX下C语言编程与实践31-UNIX 进程执行新程序:system 函数的使用与内部实现机制
  • 【Java核心技术/多线程】35道Java多线程面试题与答案
  • 【AI智能体】Coze 打造AI数字人视频生成智能体实战详解
  • 网站开发外键邯郸网站开发定制
  • FreeRTOS任务同步与通信--事件标志组
  • Excel基础知识 - 导图笔记
  • Flink 执行模式在 STREAMING 与 BATCH 之间做出正确选择
  • 杭州网站制作平台公司医院网站建设存在问题
  • Python中*args与**kwargs用法解析
  • 【大模型】多智能体架构详解:Context 数据流与工作流编排的艺术
  • 描述逻辑(Description Logic)对自然语言处理深层语义分析的影响与启示
  • python爬虫(三) ---- 分页抓取数据
  • 探索大语言模型(LLM):大模型微调方式全解析
  • 【学习笔记03】C++STL标准模板库核心技术详解
  • 做网站有什么关于财务的问题网络设计工作
  • P9751 [CSP-J 2023] 旅游巴士
  • 宠物用品网站开发背景网站推广设计
  • MySql复习及面试题学习
  • .NET周刊【9月第2期 2025-09-14】
  • 秦皇岛企业网站建设wordpress 悬浮音乐
  • 日语学习-日语知识点小记-进阶-JLPT-N1阶段应用练习(6):语法 +考え方19+2022年7月N1
  • 【Linux指南】gdb进阶技巧:断点高级玩法与变量跟踪实战
  • 跨平台游戏引擎 Axmol-2.9.0 发布
  • 金融 - neo4j、Graph Data Science 安装
  • c 可以做网站吗梧州seo排名
  • LuaC API知识点汇总
  • mysql学习--DCL