• 《TCP/IP高效编程:改善网络程序的44个技巧》源码在Linux上的编译


    为了先完整编译通过,需要以下几个步骤:

    1、进入linux子目录,执行 make。(此步骤为打补丁。)

    2、返回上一级目录,打开文件 simplec.c,添加头文件 #include <stdio.h>。

    3、对以下文件中的 static void set_address 去掉 static :

      connectto.c

      tcpsink.c

    3、在根目录执行make。

    戡误一:

    在做 shutdownc/tcpecho 的实验时,客户端 shutdownc 总是输出错误:

    shutdownc: fputs failed

    跟书上说的“server disconnected”完全不同。

    相关代码在 shutdown.c 第50行处:

      if ( fputs( lin, stdout ) )
        error( 1, errno, "fputs failed" );

    查 fputs 的 man 手册,可知:

      fputs() return a non-negative number on success, or EOF on error

    所以要改成:

                if ( fputs( lin, stdout ) == EOF)
                    error( 1, errno, "fputs failed" );

    重新编译,再做实验,输出与书中一致:

    shutdownc: server disconnected

  • 相关阅读:
    Spring Boot----整合SpringCloud
    python apscheduler学习
    Java8 Lambda
    Java Json操作
    python 环境相关
    大数据 Hadoop 单机版安装
    大数据 CDH 6.2 安装
    Java8 时间API
    python 字符串方法
    《JavaScript高级程序设计》笔记——第一章到第三章
  • 原文地址:https://www.cnblogs.com/xxfcz/p/6208877.html
Copyright © 2020-2023  润新知