gpt4 book ai didi

java - 如何通过java中的套接字发送html文件及其图像

转载 作者:行者123 更新时间:2023-11-30 07:24:05 24 4
gpt4 key购买 nike

我需要一个项目通过Java中的套接字发送html文件。我设法让文本出现在浏览器中,但没有加载任何图片。我在网上找到了这段代码来帮助我首先发送html文件,但我想知道是否有任何方法可以发送图片。我将所有图像都放在 img 文件夹中,这是 html 文件所在的位置。

public class SimpleFileServer {

public final static int SOCKET_PORT = 9000; // you may change this
public final static String FILE_TO_SEND = "D:\\Project 2\\index.html"; // you may change this

public static void main (String [] args ) throws IOException {
FileInputStream fis = null;
BufferedInputStream bis = null;
OutputStream os = null;
ServerSocket servsock = null;
Socket sock = null;
try {
servsock = new ServerSocket(SOCKET_PORT);
while (true) {
try {
sock = servsock.accept();

// send file
File myFile = new File (FILE_TO_SEND);
byte [] mybytearray = new byte [(int)myFile.length()];
fis = new FileInputStream(myFile);
bis = new BufferedInputStream(fis);
bis.read(mybytearray,0,mybytearray.length);
os = sock.getOutputStream();
os.write(mybytearray,0,mybytearray.length);
System.out.println("Done.");
} finally {
if (bis != null) bis.close();
if (os != null) os.close();
if (sock!=null) sock.close();
}
}
} finally {
if (servsock != null) servsock.close();
}
}
}

最佳答案

您确定您的项目不需要您单独解析 HTML 并请求图像吗?听起来你正在模拟类似网络服务器的东西。一般来说,浏览器会下载页面的 HTML,解析它,然后向服务器发送针对页面中包含的每个图像或其他资源(CSS、站外 Javascript 等)的后续请求。

对每个资源执行一个请求还可以简化您的服务器,因为它只需要处理当时请求的资源,这将一些逻辑和复杂性推回到客户端,以便能够知道要请求哪些资源对于。

HTTP 2 中的情况发生了一些变化,但这是另一件事,可能超出了您的问题范围。

关于java - 如何通过java中的套接字发送html文件及其图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37053695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com