我想用c++写一个UDP的客服器与服务器实现文件传输,并且服务器可以为多
我想用c++写一个UDP的客服器与服务器实现文件传输,并且服务器可以为多个客户器服务,实现对多个客户器的管理。你可以指导我怎么做吗?我查了许多c++网络编程的书,都没教我...
我想用c++写一个UDP的客服器与服务器实现文件传输,并且服务器可以为多个客户器服务,实现对多个客户器的管理。你可以指导我怎么做吗?我查了许多c++网络编程的书,都没教我如何实现,我现在头疼死了。求大神指导
展开
1个回答
展开全部
对C++的UDP编程不太了解,我以前用C#写过传文件的
因为UDP不是可靠连接,所以传送的顺序可能会乱还可能丢包,所以你要自己写一个简单的协议,
比如,服务端发送 我要给你发文件,客户端回答,好的我准备好了你传吧
然后,服务端把文件发成小块 做一个自定义结构,包含文件块的一些校验信息、块大小、序号之类的发给客户端,然后客户端收到之后检查没有错误后告诉服务端收到了,如果有错则告诉服务端重发,如果服务端在特定时间没有收到回复,则重新发送这个数据块
最后文件结束时发送一个结束标志
多客户端时,则需要有服务端定义一个列表,记录所有客户端信息,做统一管理,这个最好用线程,每一个客户端分配一个线程来处理
大概就这样吧,需要的知识比较多比较杂,你可以多找一些资料
你看看
http://keencard.blog.163.com/blog/static/10237173020092210262750/
因为UDP不是可靠连接,所以传送的顺序可能会乱还可能丢包,所以你要自己写一个简单的协议,
比如,服务端发送 我要给你发文件,客户端回答,好的我准备好了你传吧
然后,服务端把文件发成小块 做一个自定义结构,包含文件块的一些校验信息、块大小、序号之类的发给客户端,然后客户端收到之后检查没有错误后告诉服务端收到了,如果有错则告诉服务端重发,如果服务端在特定时间没有收到回复,则重新发送这个数据块
最后文件结束时发送一个结束标志
多客户端时,则需要有服务端定义一个列表,记录所有客户端信息,做统一管理,这个最好用线程,每一个客户端分配一个线程来处理
大概就这样吧,需要的知识比较多比较杂,你可以多找一些资料
你看看
http://keencard.blog.163.com/blog/static/10237173020092210262750/
更多追问追答
追问
谢谢,我看一下你发的链接,我有学过清华大学出版社出版的《C++程序设计》但是并没有涉及到网络编程所以我一头雾水。
追答
感觉那些书都是一些基础的语法,真正要用到的东西 比如线程 网络 都要自己去学
你先看看吧 有什么问题可以讨论下
还有你可以去github里去搜看好这方面的代码,我感觉应当有
来自:求助得到的回答
高骏(北京)科技有限公司
2020-04-29 广告
2020-04-29 广告
公网传输编解码建议选择高骏(北京)科技有限公司,价格合理,品质高服务好。高骏(北京)科技有限公司简称高骏科技。Cogent(高骏科技)创立于 2011年,始终致力于核心技术和创新性产品的自主研发,目前已成为国际知名的无线视音频传输与通信产品...
点击进入详情页
本回答由高骏(北京)科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询