JAVA 如何用UDP 一对一和一对多文件上传
如题所示,怎么使用UDP去接受和发送需要传送的文件,以TXT格式的文件为例。
UDP 文件上传
--------------------编程问答--------------------
请各位大神们帮助一下
--------------------编程问答--------------------
用tcp传输协议不好吗? 文件太大的话,用udp容易丢失数据。
--------------------编程问答--------------------
udp可能接收到数据包的顺序不一致,你组装得起来吗?还是tcp吧
ss = new ServerSocket(myPort);
so = ss.accept();
long size = fileToSend.length();
fpb.FileBar.setMaximum((int) size);
FileInputStream fis = new FileInputStream(filePath);
BufferedOutputStream bos = new BufferedOutputStream(so
.getOutputStream());
// BufferedWriter bw=new BufferedWriter(new
// OutputStreamWriter(so.getOutputStream()));
int s;
int count = 0;
byte[] b = new byte[512];
long startTime = System.currentTimeMillis();
while ((s = fis.read(b)) != -1 && fs) {
count += s;
bos.write(b, 0, s);
bos.flush();
String str = "" + 100 * (count / (size + 0.01));
str = forMatString(str);
long endTime = System.currentTimeMillis();
String speedStr = getSpeed(count, startTime, endTime);
String remailTime = getRemailTime(count, size, startTime,
endTime);
speed.setText("速度:" + speedStr);
sended.setText("已发送:" + str + "%");
remainTime.setText("剩余时间:" + remailTime);
fpb.FileBar.setValue(count);
if (!chatFrame.receiveBar.FILE_REVICE) {
JOptionPane.showMessageDialog(null, "对方终止了文件接收。");
fs = false;
}
}
bos.close();
fis.close();
so.close();
ss.close();
--------------------编程问答--------------------
恩恩,多谢了。刚使用这个,不知道怎么回复你们
补充:Java , Java相关