引言
本文利用java自带的socket编程实现了一个简单的静态资源服务器,可以响应静态资源。本文一共有两个版本的源码。第一个版本名为Server_v1,该版本实现了一个简单的socket的服务器,帮助读者回忆socket编程。第二个版本名为Server_v2,该版本是对第一版的改良,给出了改良思路,做出了必要的封装,让其能够响应css、html、jpg等静态资源。
正文
版本一
该版本实现一个简单的socket服务器,针对浏览器的请求,能够返回相应的页面。
其源码如下:
package mytomcat_v1;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
/**
*
* @author zhengrongjun
* @version v1.0
*/
public class Server_V1 {
public static void main(String[] args) {
ServerSocket serverSocket = null;
Socket client = null;
try {
serverSocket = new ServerSocket(9999);
// 不断接收客户连接
while (true) {
// 服务器阻塞等待客户端socket连接过来
client = serverSocket.accept();
// 对客户端里面端请求信息进行处理
InputStream in = client.getInputStream();
// 定义一个读取缓冲池 主要是在inputstram流中读取字节
byte[] buff = new byte[1024];
int len = in.read(buff);
if (len > 0) {
String msg = new String(buff, 0, len);
System.out.println("===="+msg+"======");
OutputStream out = client.getOutputStream();
//构建响应信息
StringBuffer sb = new StringBuffer();
sb.append("HTTP/1.1 200 OK\n");
sb.append("Content-Type: text/html; charset=UTF-8\n");
sb.append("\n");
String html="卖烧饼咯 小曲经常在"
+""
+new Date()
+""
+"
卖烧饼