• Steiner
    2019-09-20
    为什么select要用两个fd_set来操作,只有一个fd_set会出现什么问题?

    作者回复: 因为每次select操作完就会把传入的fd_set修改掉,以便告知应用程序什么样的事件发生了,所以需要一个初始化的fd_set保存感兴趣的待检测fd_set。

    
     1
  • Geek_Wison
    2019-10-08
    老师您好,上面服务器端代码的free result 你写错地方了,应该写到83行后面,但是你写到了90行了。

    作者回复: 是的,两个地方都需要free掉这块内存。

    
    
  • Steiner
    2019-09-27
    对于cd我直接用了chdir,出现Permission denied怎么办

    作者回复: 看一下你当前启动程序的user,还有你的目录属主权限,这个说明你当前启动程序的用户不是当前目录的属主,没有权限进行chdir操作。

    
    
  • LDxy
    2019-09-21
    服务器端程序里面的count++是做何用的?

    作者回复: 仅仅是为了计算连接的数量。

    
    
  • 沉淀的梦想
    2019-09-21
    测了一些strcmp,好像写大小写敏感的,更接近Java里的equals,而不是equalsIgnoreCase吧?

    作者回复: 是的。

    
    
  • ( ̄_ ̄ )
    2019-09-20
    我用的把dup2把标准输入输出重定向到套接字,用system调用命令

    作者回复: 👍

    
    
  • _CountingStars
    2019-09-20
    可能老师的程序只是为了给我们演示。我发现老师程序主体都在一个main函数写的,没有分开组织成多个小函数,有时 if 的嵌套有点深,其实可以把异常情况直接 return 回去,这样嵌套就会少很多。这样代码也会容易理解一些。

    作者回复: 嗯,只是一个演示,你们可以自行优化。拆分成多个函数当然是可以的。

    
    
  • 骏Jero
    2019-09-20
    老师,有个问题想问下 UDP报文最大长度? 之前你的专栏udp那篇的提问,我编写代码在局域网试了下可以达到65507个字节。然后参照往上一些资料有些根据mtu来进行计算,但是为什么实际种事65507而不是mtu 1500字节计算出来的1472字节

    作者回复: 你是怎么测试的?贴上代码来看看,很感兴趣的说。

     1
    
  • 刘丹
    2019-09-20
    malloc的内存没有被释放?

    作者回复: 是的,已修正。一会更新下。

    
    
  • MoonGod
    2019-09-20
    老师有个问题没有想清楚,就是服务端代码中,在读取到客户端发送的EOF后,会打印printf("server closed \n");。但我在实践的过程中,发现这行日志总是在客户端重新连接后,并发送第一条指令后,才在服务端的控制台打印出来,为什么不是在客户端发送quit之后立马打印出来的呢?

    作者回复: 我这里的现象是客户端quit之后会打印。你是什么系统?

    
    
  • 传说中的成大大
    2019-09-20
    我觉得网络不难 难的是你让我去程序里面 ls pwd cd ../o(╥﹏╥)o

    作者回复: 哈哈,不是都搞定了么

     1
    
我们在线,来聊聊吧