一.计划
1.1 网络编程
1.2 多线程
1.3 swing(B/S,C/S)
1.4 数据库
1.5 前端
1.6 JavaEE
二.回顾
2.1 IO流
2.1.1 输入流/输出流
2.1.2 常用类
InputStrream 字节 / OutputStream
Reader 字符 / Writer
2.2 异常
三.网络编程
3.1 引子
http://localhost:9090/
127.0.0.1
3.2网络的基本概念
3.2.1指令
package io;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import static java.lang.System.in;
public class Server {
public static void main(String[] args) throws Exception {
//开端口
ServerSocket server =new ServerSocket(10010);
System.out.println("服务器启动……");
while(true){
Socket accept = server.accept();
InputStream in =accept.getInputStream();
BufferedInputStream inx =new BufferedInputStream(in);
byte[] buffer=new byte[1024];
while((inx.read(buffer))!=-1){
String str =new String(buffer);
System.out.println(str);
}
}
}
}
服务器
package io;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args) throws IOException {
final int PORT=10010;
ServerSocket server=new ServerSocket(PORT);
System.out.println("服务器运行中……");
while (true) {
Socket socket=server.accept();
//解析
InputStream stream =socket.getInputStream();
char data = (char) stream.read();
System.out.println("[来自客户端:]"+data);
}
}
}
客户端
package io;
import javax.swing.*;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.jar.JarOutputStream;
public class Client {
//客户端
public static void main(String[] args) throws IOException {
final String HOST ="127.0.0.1";
final int PORT = 10010;
Socket socket = new Socket(HOST, PORT);
System.out.println("客户端连接成功……");
OutputStream stream=socket.getOutputStream();
String s = JOptionPane.showInputDialog("请输入……");
stream.write(s.charAt(0));
stream.flush();
}
}
3.3 网络模型
3.4 TCP的三次握手&四次挥手