- 网络编程:
- 在两台不同的计算机之间传递数据
- 1.QQ聊天
- 2.打开网易app 刷新界面 就有数据
- 3.打开浏览器 网页 www.baidu.com
- 客户端:手机app 浏览器 桌面应用
- 服务器端:存储/处理数据
- URL:统一的资源定位
- http/https:传输协议 TCP/IP
- 域名 表示一台网络中的电脑
- IPv4 IPv6地址:唯一标识一台网络中的计算机
- 32位:四个部分每个部分八个字节
- DNS服务器:域名解析 将www.baidu.com类型的域名解析为对应的IP地址
- search 对应的后台程序文件 php Java jsp
- ?表示运行这个程序需要传递的参数
- code是服务器端规定的字段
- &如果有果个参数使用&符号连接
- IP地址:唯一标识某一台电脑
- 端口号:唯一标识电脑上的某一个进程(程序)80
- 数据传输:TCP/IP协议
- TCP:面向链接的 安全的 打电话
- UDP:面向无链接的 不安全 但是快
- 网络中的数据传输:Socket 实现->套接字
- Socket
- ServerSocket
1.创建用于通信的socket
指明和谁通信:ip地址 端口号
Socket socket = new Socket("127.0.0.1",8989);
接收服务器端的数据
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
读取服务器端发来的数据
String line = null;
while ((line = br.readLine()) != null){
System.out.println(line);
}
客户端向服务器端发送数据
PrintStream ps = new PrintStream(socket.getOutputStream());
ps.println("你好啊");
1.创建服务器端的serverocket
ServerSocket ss = new ServerSocket(8989);
2.获取连接的客户端的socket
Socket clientSocket = ss.accept();
3.向客户端发送数据
PrintStream ps = new PrintStream(clientSocket.getOutputStream());
ps.println("登录成功");
4.接收客户端发来的数据
BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String line = null;
while ((line = br.readLine()) != null){
System.out.println(line);