【汇智学堂】基于ServerSocket的JAVA版服务器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

/*
做一个人简单的服务器
 */

package com.huizhi;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.*;
import java.net.*;

public class Main {

    public static void main(String[] args) throws  Exception{
	// write your code here

        ServerSocket serverSocket=new ServerSocket(1234);
        System.out.println("running on port:"+serverSocket.getLocalPort());

        while (true){
            Socket s=serverSocket.accept();
            httpSocket(s);
        }
    }

    public static void httpSocket(Socket s) throws  Exception{
        BufferedReader br=new BufferedReader(
                new InputStreamReader(s.getInputStream()));

        OutputStream os=s.getOutputStream();

        String file;
        String headLine;

        while(true){//读取浏览器提交的请求信息
            if(br.ready()){
                headLine=br.readLine();
                System.out.println("The Client request is"+headLine);                

                StringTokenizer st=new StringTokenizer(headLine);
                String str1=st.nextToken();

                System.out.println("The str1 is "+str1);

                if(str1.equals("GET")){

                //if(str1.equals("Get")){
                    file=st.nextToken();
                    System.out.println("The file name is "+file);
                }
                else{
                    file="index.html";
                }

                //file="index.html";

                FileInputStream fis=new FileInputStream(
                        "D:\\TCP通信\\示例代码\\2-web服务器\\root\\"+file);
                byte[] data=new byte[1024];
                int i =fis.read(data);

                os.write(data);

                fis.close();
                br.close();
                s.close();
                //System.out.println("ok");
                break;
            }
        }
    }
}

发布了268 篇原创文章 · 获赞 47 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_39593940/article/details/103468288