大文件传输主要技术瓶颈都有哪些?如何处理的

大文件传输主要技术瓶颈都有哪些?如何处理的,第1张

说起来现在常规大文件传输软件或者系统,应用的文件分发传输技术基本的就是>首先,如果是家用路由器的话,基本上可以判断是非对称型的。首先目前绝大多数的路由器都是非对称型NAT(Cone NAT),所以P2P技术才能正常使用。 对称/非对称的区别主要在于:网关设备在实现NAT时,对于内网某主机的若干个UDP连接请求,网关设备对应地在外网上所建立的UDP端口数量。对称NAT是一个请求对应一个端口,非对称NAT是多个请求对应一个端口(象锥形,所以叫Cone NAT)。对称型NAT(Symmetric NAT)是无法实现P2P技术。 相关名词:P2P:对等计算(Peer to Peer,简称p2p)可以简单的定义成通过直接交换来共享计算机资源和服务,而对等计算模型应用层形成的网络通常称为对等网络。在P2P网络环境中,成千上万台彼此连接的计算机都处于对等的地位,整个网络一般来说不依赖专用的集中服务器。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求作出响应,提供资源和服务。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU的共享)、存储共享(如缓存和磁盘空间的使用)等。UDP:UDP协议全称是用户数据报协议[1] ,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。

在JAVA中,发送和接收多播信息的方法:

发送多播信息需经历步骤

确定发送的具体信息内容

Stringmsg="Hello";

选用专门为多播指定的D类IP地址(224001到239255255255),创建一个多播组

InetAddressgroup=InetAddressgetByName("228567");

使用指定的端口(一般选1024以上的端口号)建立多播套接

s=new(6789);

加入多播组

sjoinGroup(group);

创建一个数据报封装多播信息

hi=new(msggetBytes(),msglength(),

group,6789);

发送

ssend(hi);

接收多播信息的步骤

开辟接收缓冲区

byte[]buf=newbyte[1000];

创建接收数据报

recv=new(buf,buflength);

接收

sreceive(recv);

注意:以上发送和接收程序在同一个文件中实现,若在不同文件中实现则应分别定义多播套接字并加入多播组。

3.与已知IP和端口的端点通信

在互联网上主要采用TCP和UDP来实现两点之间的通信。采用TCP可可靠传送信息,但花费时间较多;采用UDP可快速传递信息,但不能保证可靠传递。

JAVA实现TCP通信的方法:

利用Socket(InetAddressaddr,intport)和Socket(Stringhost,intport),创建客户端套接字,利用(intport)创建服务器端套接字,port端口就是服务器监听连接请求的端口,通过调用aept()返回一个最近创建的Socket对象,该Socket对象绑定了客户程序的IP地址或端口号。通过调用Socket的()方法获得输入流读传送来的信息,也可能通过调用Socket的()方法获得输出流来发送消息。

JAVA实现UDP通信的方法:

使用(byte[]buffer,intlength,InetAddressaddr,intport)确定数据包数组、数组的长度、数据包的地址和端口信息。使用()创建客户端套接字,而服务器端则采用(intport),调用send(dgp)和receive(dgp)来发送和接收数据包。本文设计的程序采用UDP。

P2P(Peer-to-Peer端到端)模型是与C/S(客户/服务器)模型相对应。基于C/S的用户间通信需要由服务器中转,在C/S中的服务器故障将导致整个网络通信的瘫痪。而基于P2P的用户间通信则是直接通信,去掉了服务器这一层,带来的显著优点是通信时没有单一的失败点,一个用户的故障不会影响整个P2P网络。本文提供了一种用JAVA实现P2P网络通信的方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13285602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-08
下一篇 2023-07-08

发表评论

登录后才能评论

评论列表(0条)

保存