首页未分类 › Linux C 编写的简易FTP程序

Linux C 编写的简易FTP程序

Linux C 编写的简易FTP程序


服务端代码:

客户端代码:

不好意思忘写注释了,在这里跟大家分享一下个人收获。在一开始写这个程序时,只要用到自己定义的命令服务端就挂掉了,这个问题困扰许久,后来才发现自己写的代码中对于出错处理时用到的函数是exit(1),而不是用的return。后来把exit(1)改写成return 问题就解决了,后来查资料得出exit()是退出当前的进程,而return 只是退出函数体而并不结束进程。还遇到了另外的一个问题,就是我自己定义的ftp中的命令只能运行一次,第二次运行时就会报connect失败,当服务端先于客户端退出时再次运行服务端时也会出现这样的问题,当过一段时间再次运行时就会解决这个问题,可能是系统回收时有点慢的原因,但是自己的定义命令还是出现同样的问题,后来把套接字的创建和链接都从客户端的主程序中移到了函数中去做了,问题就解决了,这样看来跟服务端先于客户端退出时出现的问题应该是一样的,但是我们的程序不可能停下来等,所以,只能是修改自己的程序来解决这个问题,于是就让每个函数来自己创建套接字使用完后再关闭它,这样问题就解决了。到这我的收获就说完了,如果谁有这方面的体会心得希望能一起分享给大家!!

发表评论