01_1_Socket实现

1.什么是MIME

Multipurpos Internet Mail Extension

指明白传送内容的格式

最早用于邮件附件

2.HTTP协议基础

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

//关闭响应的流

}

}

01_1_Socket实现的更多相关文章

随机推荐

  1. hdu1175 连连看

    连连看 HDU - 1175 “连连看”相信很多人都玩过.没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子.如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子 ...

  2. 原生js 的ajax封装

    /** * 封装ajax函数(包括跨域) * @method ajax * @param option :{type:"post" or "get" 请求方式, ...

  3. IT兄弟连 Java语法教程 Java语言入门 典面试题

    1.请说明JVM.JRE和JDK是什么?它们有什么关系? JVM是Java虚拟机,Java Virtual Machine的缩写,是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实 ...

  4. DOM核心API

    是什么? 是各大浏览器提供的针对HTML和XML文档的一个API(Application Programming Interface应用程序编程接口).DOM描述了一个层次化的节点树,容许开发人员对D ...

  5. PostgreSQL - invalid input syntax for type timestamp with time zone

    问题 在执行以下sql时报错: select COALESCE(null,null,now(),''); 报错如下: SQL Error [22007]: ERROR: invalid input s ...

  6. PHP 扩展篇 _ 持续更新

    记住这个网站:http://pecl.php.net/ PHP-Redis扩展更新时间:2019/05/06 PHP安装Redis 1:下载目前最新版的redis插件 wget http://pecl ...

  7. [Java]基本数据类型及其封装类总结

    九种基本数据类型的大小,以及他们的封装类 类型 字节 默认值 封装类 byte 1 0 Byte char 2 null Character int 4 0 Integer long 8 0 Long ...

  8. GPU程序缓存(GPU Program Caching)

    GPU程序缓存 翻译文章: GPU Program Caching 总览 / 为什么 因为有一个沙盒, 每一次加载页面, 我们都会转化, 编译和链接它的GPU着色器. 当然不是每一个页面都需要着色器, ...

  9. php:两个文件夹递归地比较,没有的文件自动复制过去

    仿站时,通常默认模板文件和新的模板文件大部分都是一样的,下面代码可以用于比较文件是否缺失(和默认模板做比较) 如果缺失自动复制过去~~ <?php /** * used:新模板和default模 ...

  10. airodump-ng 界面参数比较详细的解释

    BSSID: AP(access point)的MAC地址,,如果在client section中BSSID显示为"not associated" ,那么意味着该客户端没有和AP连 ...