一、网络
1.网络作用:
将多*独台**立的计算机连接起来,实现资源共享、数据交互
2.理解ip地址的构成:
ip地址=网络标识+地址标识
3.常用网络命令:
ipconfig 查看本地网络配置
ping 目标地址 查询是否通畅
4.网络通信协议:为在网络中不同的计算机之间进行通信而建立的规则、标准或约定的集合
4.1 TCP协议(Transmission Control Protocol 传输控制协议)
面向连接的、可靠的、基于字节流的传输通信协议。
4.2.UDP协议(User Datagram Protocol 用户数据报协议)
无连接的协议,在传输数据之前,客户端和服务器并不建立和维护连接。
二、socket编程(使用java.net包)
1.什么是socket:指通信链路的端点称为套接字(Socket),提供程序操作的Api

sockte编程的工作原理
2.实现socket编程:
2.1服务器端程序:
package com;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
//服务器端
public static void main(String[] args) {
try {
//1.创建ServerSocket对象
ServerSocket serverSocket=new ServerSocket(7788);
//2.接收客户端连接
System.out.println("等待客户端连接。。。");
Socket socket=serverSocket.accept(); //停
System.out.println("已接通..");
//3.获取流读写消息
InputStream is= socket.getInputStream(); //输入流
OutputStream os= socket.getOutputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String info = null;
while((info=reader.readLine())!=null){
System.out.println("服务器获取客端发的消息:"+info);
}
//4.服务器给客户端发送信息 :写消息
os.write("登入成功!OK".getBytes());
//5.释放资源
os.close();
is.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2.客户端程序:
package com;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
try {
//1.创建socket对象
System.out.println("客户端去连服务器...");
Socket socket=new Socket("localhost", 7788);
System.out.println("可以与服务器进行通信");
//客户端给服务器发消息
//输出流写信息、输入流读信息
OutputStream os=socket.getOutputStream(); //写信息
InputStream is=socket.getInputStream();
//写信息
String sendInfo="用户名:admin,密码:123";
os.write(sendInfo.getBytes());
socket.shutdownOutput(); //表示发送完
//客户端接收服务器的消息
int len=0;
while(len==0) { //确保流中有内容
len=is.available();
}
byte []bs=new byte[is.available()];
//读
is.read(bs);
System.out.println("客户端获服务器端发的消息:"+new String(bs));
is.close();
os.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}