我为我的Android应用程序实现了一个简单的HTTP服务器,它使用套接字传递html标记,一切都按预期进行。
但我尝试在客户端(浏览器)加载一个简单的嵌入图像(http:// localhost:1234 / img.jpg \“/>),我不知道如何使套接字加载它。 任何人都可以帮我提供坐标吗?
我的简单http服务器:
public class MainClass extends Activity {
// Called when the activity is first created
// It was called from onCreate method surrounded with try catch
[...]
ServerSocket ss = new ServerSocket(1234);
while (true) {
Socket s = ss.accept();
PrintStream out = new PrintStream(s.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
String info = null;
while ((info = in.readLine()) != null) {
System.out.println("now got " + info);
if(info.equals(""))
break;
}
out.println("HTTP/1.0 200 OK");
out.println("MIME_version:1.0");
out.println("Content_Type:text/html");
String c = "<html>" +
"<head></head>" +
"<body>" +
"<img src=\"http://localhost:1234/img.jpg\" />" + // << Does not load in the browser
"<h1> hi </h1>" +
"</body>" +
"</html>";
out.println("Content_Length:" + c.length());
out.println("");
out.println(c);
out.close();
s.close();
in.close();
}
[...]
}
}
提前致谢!
答案 0 :(得分:0)
未加载图片的原因是您的应用程序未提供文件http://localhost:1234/img.jpg
。处理<img />
标记时,浏览器将转到src路径并将该文件加载到页面中。
我不知道如何实现这个(我之前没有实现过HTTP)。但您至少必须处理输入的GET
请求,并区分基本网页和图像请求。