zoukankan      html  css  js  c++  java
  • 01_1_Socket实现

    01_1_Socket实现

    1.什么是MIME

    Multipurpos Internet Mail Extension

    指明白传送内容的格式

    最早用于邮件附件

    2.HTTP协议基础

    HTTPHypertext Transfer Protocol,超文本传输协议)

    HTTP是以明文方式发送数据的

    用于从WWW服务器传输超文本到本地浏览器的传输协议。

    HTTP协议是以TCP/IP为基础的高层协议。

    现在广泛使用的版本HTTP/1.1

    3.socket实现

    import java.io.BufferedReader;

    import java.io.BufferedWriter;

    import java.io.InputStreamReader;

    import java.io.OutputStreamWriter;

    import java.net.Socket;

    public class TestHTTP {

    public static void main(String[] args) throws Exception {

    Socket s = new Socket("127.0.0.1", 8080);

    //建立一个到服务器的连接,127.0.0.表示要连接的ip 8080表示要连接的端口

    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

    //Output只能写 Input只能读 OutputStreamWriter 提供转换的字符流 BufferedWriter 提供缓存功能

    bw.write("Get / HTTP/1.1");

    //Get 表示处理的方法  /表示处理的资源 HTTP/1.1处理的协议

    bw.newLine();

    //留一个空行

    bw.write("Host: 127.0.0.1:8080");

    //指定Host,因为有可能一个IP地址,管理多个域名

    bw.newLine();

    bw.write("Content-Type: text/html");

    //指定访问的是什么类型的资源

    bw.newLine();

    bw.newLine();

    //表示结束

    bw.flush();

    //清空缓存区的内容

    BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));

    String str = null;

    while((str = br.readLine()) != null) {

    System.out.println(str);

    //循环读取从服务端的输入流

    }

    bw.close();

    br.close();

    s.close();

    //关闭响应的流

    }

    }

  • 相关阅读:
    使用express框架创建服务器
    搭建第一个node服务器
    Node 与JS的区别
    node学习之路
    【每天一个linux命令】read
    【每天一个linux命令】awk
    【每天一个linux命令】wc
    【每天一个linux命令】sed
    【每天一个linux命令】tee
    【每天一个linux命令】find
  • 原文地址:https://www.cnblogs.com/flyback/p/8641945.html
Copyright © 2011-2022 走看看