主要内容
1.网络通信协议的分类
UDP协议
特点:效率高,安全底,数据量太小(64KB)
TCP协议
特点,效率低,安全高,数据量大(需要下载)
2.TCP通信
1. 客户端:Socket 类表示。创建 Socket 对象,向服务端发出连接请求,服务端响应请求,两者连接开始通信。
2. 服务端ServerSocket 类表示。创建 ServerSocket 对象,相当于开启一个服务,并等待客户端 的连接。
1.客户端实现案例
public static void main(String[] args) throws IOException {
Socket socket = new Socket("127.0.0.1", 6666);
OutputStream os = socket.getOutputStream();
os.write("你好服务器".getBytes());
InputStream is = socket.getInputStream();
byte[]bytes=new byte[1024];
int len=is.read(bytes);
System.out.println(new String(bytes,0,len));
os.close();
}
}
2.服务器实现案例
public static void main(String[] args) throws IOException {
ServerSocket ss =new ServerSocket(6666);
Socket so = ss.accept();
InputStream is = so.getInputStream();
byte[]bytes=new byte[1024];
int len=is.read(bytes);
System.out.println(new String(bytes,0,len));
OutputStream os = so.getOutputStream();
os.write("收到谢谢".getBytes());
ss.close();
so.close();
}
}
3.综合案例
3.1文件上传
1.客户端案例
public static void main(String[] args) throws IOException {
System.out.println("我是客户端");
FileInputStream fis = new FileInputStream("untitled-jiuyeban-11\\src\\cmd\\ddd.png");
Socket socket = new Socket("127.0.0.1", 8888);
OutputStream os = socket.getOutputStream();
byte[] bytes = new byte[1024];
int lien = 0;
while ((lien = fis.read(bytes)) != -1) {
os.write(bytes,0,lien);
}
socket.shutdownOutput();
InputStream is = socket.getInputStream();
while ((lien = is.read(bytes)) != -1) {
System.out.println(new String(bytes,0,lien));
}
os.close();
fis.close();
}
}
2.服务器案例
ServerSocket serverSocket =new ServerSocket(8888);
Socket accept = serverSocket.accept();
InputStream is = accept.getInputStream();
FileOutputStream fos =new FileOutputStream("untitled-jiuyeban-11\\src\\cmd\\dddd111.png");
byte[] bytes =new byte[1024];
int lien =0;
while ((lien=is.read(bytes))!=-1){
fos.write(bytes,0,lien);
}
OutputStream os = accept.getOutputStream();
os.write("上传成功".getBytes());
fos.close();
is.close();
os.close();
4.网络编程三要素
IP地址
1.IP地址:指互联网协议地址(Internet Protocol Address),俗称IP。IP地址用来给一个网络中的计算机设备做唯一的编号。假如我们把“个人电脑”比作“一台电话”的话,那么“IP地址”就相当于“电话号码”。
IP地址分类
2.IPv4:是一个32位的二进制数,通常被分为4个字节,表示成a.b.c.d
的形式,例如192.168.65.100
。其中a、b、c、d都是0~255之间的十进制整数,那么最多可以表示42亿个。
常用命令
1.查看本机IP地址,在控制台输入:
ipconfig
2.检查网络是否连通,在控制台输入:
ping 空格 IP地址
ping 220.181.57.216