通过Internet传输文件(使用java)

时间:2011-04-12 10:38:05

标签: java image networking udp video-streaming

我有一个在服务器和客户端上运行的java(swing)应用程序(或假设两个不同的

计算机),这两个是通过Internet而不是通过LAN或WAN连接的。客户端必须发送

服务器的一些数据(大约200 kb)。这种方法更适合传输数据..我用过

TCP通过局域网,但它通过互联网工作缓慢..所以我可以使用UDP上网吗?如果是,我不

知道如何将我的数据划分为块并发送给它&再次在服务器上重新组装数据。

如果为UDP传输提供源代码(java中的批量数据),我真的很感激。

提前感谢..

2 个答案:

答案 0 :(得分:4)

使用TCP ,它会以一种比您希望自己实现的方式更好的方式完成您想要的操作。如果你的带宽较低,在后台传输或只是等待 - 你无能为力。

以字节数组的形式读取数据并将它们作为一个整体写入 - 请参阅DataInputStream.readFully()。在写作结束时冲洗输出。

编辑:如果您想要一个接一个地发送多个图像,您可以进行视频压缩 - 它的设计效率非常高。

答案 1 :(得分:1)

拉维在这个问题上已经有好几天了。现在UDP预计会带来帮助,但是,当然,它不会![/ p>

拉维,我给你一些免费的提示(因为到目前为止你甚至没有投票给你收到的7个答案中的一个,我想StackOverflow中的声誉系统对你来说仍然是个谜):

  1. 计算机2D图像仅此而已 而不是二维像素阵列,即颜色 值(通常是int值)。
  2. 我昨天告诉你,BufferedImage类有单独获取和设置每个像素的方法。
  3. 两个相同大小的图像是不同的,如果有一个坐标x,y,其中一个图像中的相应像素与另一个图像中的相应像素不同。
  4. 顺便说一句,请问你的职业是什么?