01_1_Socket实现
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实现的更多相关文章
随机推荐
- 【转】mysql中set autocommit=0与start transaction的关系
在mysql中用户的任何一个更新操作(写操作)都被视为一个事务,set autocommit=0指事务非自动提交,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit& ...
- 洛谷P1831 杠杆数
P1831 杠杆数 题目描述 如果把一个数的某一位当成支点,且左边的数字到这个点的力矩和等于右边的数字到这个点的力矩和,那么这个数就可以被叫成杠杆数. 比如4139就是杠杆数,把3当成支点,我们有这样 ...
- Python学习笔记(快捷键)
增加多行缩进: Ctrl + ] (右中括号) 减少多行缩进:Ctrl + [ (左中括号) 添加多行注释:Alt + 3 取消多行注释:Alt + 4 在Python Shell里重复上一条命令 ...
- 3分钟简单了解 prototype 和 __proto__
关于prototype 1. 所有的函数都会有一个prototype属性,属性值是一个普通对象: 2. 当我们去new一个构造函数的实例时,构造函数的原型对象(prototype)会被赋值给它实例的[ ...
- JS高级学习历程-11
[继承] 在php,一个类去继承另一个类,本类实例化出来的对象,既可以调用本身类的成员,也可以调用父类的成员. 在javascript继承主要通过原型实现,构造函数继承一个对象,构造函数的实例会拥有被 ...
- PAT甲级——1106 Lowest Price in Supply Chain(BFS)
本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90444872 1106 Lowest Price in Supp ...
- [题解](双向bfs)hdu_3085_Nightmare Ⅱ
发现直接搜索比较麻烦,但是要同时两个人一起走容易想到双向bfs,比较普通, 在判断是否碰到ghost时只要比较两点的曼哈顿距离大小和step*2(即ghost扩散的距离)即可,仔细思考也是可以想到的 ...
- 一篇文章彻底了解Java垃圾收集(GC)机制
垃圾收集(Garbage Collection ,GC),是一个长久以来就被思考的问题,当考虑GC的时候,我们必须思考3件事情: 哪些内存需要回收? 什么时候回收? 如何回收? 那么在Java中,我们 ...
- HDU 1160 FatMouse's Speed LIS DP
http://acm.hdu.edu.cn/showproblem.php?pid=1160 同样是先按它的体重由小到大排,相同就按speed排就行. 这样做的好处是,能用O(n^2)枚举,因为前面的 ...
- Zookeeper+websocket实现对分布式服务器的实时监控(附源码下载)
我就是个封面 Zookeeper简介 Zookeeper是Hadoop的一个子项目,它是分布式系统中的协调系统. 简单来说就是一个Zookeeper注册同步中心,内部结构为一个树形目录,每个节点上 ...