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();

    //关闭响应的流

    }

    }

  • 相关阅读:
    替代传统C/S和B/S技术的下一代客户/服务器编程技术
    理想的编程语言
    nginx进程模型
    Sybase 7.0 中文乱码问题
    netfilter 链接跟踪机制与NAT原理
    TraTraffic Server 进程模型
    nginx并发模型与traffic_server并发模型简单比较
    vs/nat原理分析
    ORACLE 查询表信息
    in 跟exists的区别
  • 原文地址:https://www.cnblogs.com/flyback/p/8641945.html
Copyright © 2011-2022 走看看