客户端:
使用你的浏览器
服务器:
需要自己准备静态html网页,网页放在项目根目录下(写过java的应该都不需要看这句话)
package com.wenba1314.socket;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerToBrowser {
public static void main(String[] args) throws IOException {
//创建服务器监听8080端口
ServerSocket server = new ServerSocket(8080);
while (true) {
//接受客户端的请求
Socket browser = server.accept();
//创建一个线程来处理请求
new Thread(new Runnable() {
@Override
public void run() {
try {
//获取请求包,并处理数据得到需要的内容
BufferedReader br = new BufferedReader(new InputStreamReader(browser.getInputStream()));
//获得请求头(GET /picture.html HTTP/1.1)
String line = br.readLine();
System.out.println(line);
//获得访问的资源(/picture.html)
String path = line.split(" ")[1].substring(1);
FileInputStream fis=null;
try {
//创建文件输入流
fis= new FileInputStream(path);
} catch (Exception e) {
//如果访问的网页资源不存在,则返回默认的网页
fis=new FileInputStream("picture.html");
}
//获得文件输出流并生成一个http响应包
OutputStream os = browser.getOutputStream();
os.write("HTTP/1.1 200 OK\r\n".getBytes());
os.write("Content-Type:text/html\r\n".getBytes());
os.write("\r\n".getBytes());
byte[] buffer=new byte[1024];
int len=-1;
while ((len = fis.read(buffer)) != -1) {
os.write(buffer,0,len);
}
fis.close();
browser.shutdownOutput();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
}
服务器
版权声明:本文为qq_41294444原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。