Udp传大文件问题

问题:

Udp传文件和长字符串,需要分批传,但是Udp不是面向连接的,服务端接收文件,如果多个客户端都在往该服务器传文件,不知道是哪个客户端发送过来的,那怎么才能正确判断是哪个客户端发过来的,把传过来的文件数据包存储到相应的地方呢?Tcp是面向连接,所以服务器每接到一个新的socket,服务端会单独派发一个socket,与这个客户端通信,可以一次性接完该客户发的文件再断开连接.
但是我有个需求是用udp发文件,所以就遇到了上述问题,不能区分是哪个客户发来的文件数据,不知道有没有什么好的解决方案,谢谢


答案:-------------------------------------------------------------------------------------

Num1:

UDP也能区分数据包是哪个IP传过来的啊

用IP区分,写入不同的数组,不就好了
你也可以像tcp一样,动态创建一些类,把这些类放到集合里,类里面放你的字符串数组
然后判断IP,把数据扔进对应的类里去


Num2:

UDP不是可靠的协议(可以丢失,可以乱序)。
要用UDP来可靠的传输文件,需要你自己进行一系列的处理(比如重发,编序,限速等等)。相比之下‘区分客户’微不足道。
如果你想提高,用UDP来进行可靠传输是一个很好的练习。
如果你只想传输文件,建议你用TCP。


Num3:

你客户端对发出的每一帧数据做一层封装,每个客户端生成一个唯一性标识包含在数据包中,服务端根据这个唯一性标识来区分不同客户端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值