目录
1.三次握手,四次挥手
public class client {
public static void main(String[] args) throws IOException {
//1.创建socket对象,指定连谁
Socket socket = new Socket("127.0.0.1",10000);
//2.从连接通道获取输出流,把数据要放到这个流上传出去
OutputStream os = socket.getOutputStream();
os.write("你好!".getBytes());
//3.释放资源
os.close();
socket.close();
}
}
public class serve {
public static void main(String[] args) throws IOException {
//1.创建ss对象,绑定端口
ServerSocket ss = new ServerSocket(10000);
//2.监听客户端连接,接受连接
Socket accept = ss.accept();
//3.从流上获取数据
InputStream is = accept.getInputStream(); //这个是字节流,一次读一个字节,不适合中文
InputStreamReader isr = new InputStreamReader(is); //用这行代码将其转化为字符流即可
int b;
while ((b = isr.read())!=-1){
System.out.print((char)b);
}
//4.释放资源
accept.close();
ss.close();
}
}
2.反射
什么是反射? 反射允许对封装类的字段、方法、构造函数的信息进行编程访问。
人话:从类里面拿东西。
3.动态代理
找一个中间人,在中间人这里可以随便加改代码,然后调用对象中有的方法。避免了直接修改对象中的方法,出现bug。牵一发而动全身。