【发布时间】:2011-10-24 17:57:00
【问题描述】:
我尝试用 Java 创建一个应用程序,我有一个图像网格。每个图像都必须通过 TCP 连接从远程服务器加载。
我的问题是哪种方法最好?使用一个 TCP 套接字并通过这个请求所有的图像,还是为每个图像请求打开一个新的套接字?
----- 更新 -----
谢谢大家的回复。
我更新了帖子以写一些额外的信息来回答你的一些问题。
- 系统客户端/服务器位于本地(家庭)网络中,不会 传输数据抛出互联网,所以连接带宽不是一个 问题。
- 网格还将包含图像的缩略图,图像 I 当用户双击单独套接字上的缩略图时,将按需加载。
- 我从客户端和服务器编写代码都是用java编写的。
- 我们有一个客户端可以连接到少量服务器,但每次只有一个客户端,没有与不同服务器的并行连接。
我的想法是,如果使用单个套接字,我必须将图像大小、图像名称分开,所以我必须为每个图像发送一个带有名称的字符串,以及一个长的大小。抛出单个套接字最好在连接开始时一起请求图像,然后以串行方式一对一发送所有图像,或者在请求第二个图像后抛出单个套接字发送图像请求获取图像回复并获得第二个回复。
如果我使用多个套接字,每个图像请求一个套接字我想拥有最大数量的打开套接字,我可以使用线程池并使用一个可运行的来管理一个图像传输抛出一个套接字吗?
再次感谢您。
【问题讨论】:
-
我更新了我的问题以添加一些额外的信息
标签: java sockets tcp file-transfer