我想用C++编写一个广域网传输文件

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:55:54
C++的知识我有,哪位牛人讲解一下具体的软件结构过程,主要是网络那部分知识,主要是哪些知识点?
anymore

套接字吧?!

socket程序分成两个部分,一个是服务器端,一个是客户端。

客户端比较容易实现。服务器端稍微复杂一些。

一般的流程:
客户端发起请求
服务器接受请求
服务器回复
客户端接受服务器的回复
继续或端开

如此循环。
按你说的意思应该是点对点传输了,这样服务器端不需要多线程处理,稍微简单些。但也应尽量避免使用阻塞模式。

服务器首次接收数据时可以阻塞。
服务器每次读取数据前最后使用select判断一下,如果连接超时就直接结束,避免卡住。关于文件的具体细节可以在第一个数据包中发送。比如文件长度、文件名什么的。

最好设计一个传输范围的文件头项目,这样可以实现断点续传。不带断点续传功能的文件传输很可怕的。

any more ???
in your books.