Design:
The software consists of two parts. The server program and the client program. The server program
is simply a command line application that receives only one argument to specify the directory the file
server hosts. And the client program is written in Qt4 GUI framework, so a friendly visual user
interface is shown to the user.
Functions:
1. Listing directories from server.
2. Downloading files from server. Large files (4GB) are supported.
3. Multi-clients access and multi-threading supported.
4. Uses maximum network speed, nearly 50Mbytes/s transfer ability on PC.
5. The cross-platform Qt4 GUI supported.
6. Current version only support two basic FTP commands(LIST, RETR) for file listing and file
transferring. To simplify the development, the implementation of these commands is not
compatible with the RFC related specificiations.
Environment:
IDE: vim
Language: C++
GUI Framework: Qt4
Networking Library: socket API of the operating system.
Screenshot
源代码下载:
socket.tar
sofa.
大多数沙发是被用来浪费的。。。
好吧,在这儿看到了,话说第二张图片那微博背景算是暗示吗?之前直接搜xiaoxia结果太多了,汗!果断关注你了。。。
表示微博在暗示什么,一个可爱的socket文件传输工具。果断学习下,对虾哥表示感谢~
小虾故意的,全篇都是英文,只有源代码下载是中文,是怕大家找不到么233
呃,除了几个中文字,其他的都是复制粘贴的。
如果大家支持,以后我博客只写英文文章都可以的哦 😀
这个可以有,顺别练练自己查字典的技术
哈哈@小虾泡菜汤,我又看了下菜汤原来是小虾天天挂嘴边的那个妹纸
哎呀,被你发现了!用不着这么大声说出来吧!!!
看到小虾,服务端还是使用的多线程来处理的,为什么不考虑使用select或者epoll来处理呢?
有想过这个问题,但是处理起来很复杂。额,目前还觉得没必要为了一个作业去搞的头都大了……
多线程的程序写起来思路会清晰些,效率也高些,真的哦!
linux下多线程并不是那么完美,用轻量级线程模拟出来的。看现在的一些开源库,有很多都是使用单线程的,redis,libevent,个人愚见。。。