系列文章目录
一、网络编程入门
1.1网络编程概述
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4436a6256e5c44f1a97ffe2573b115e4.png)
1.2网络编程三要素
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/178e21efd33fe82d7411a7f4c43e6abc.png)
1.3 IP地址
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d6e90b8c3fe994483b95c35f5bf1a445.png)
1.3 IP地址
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/22696eadb04b7db0f44fc7abb0b76d01.png)
1.4 InetAddress的使用
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/66ca9b4848e7fa4e8b53580728de13f5.png)
1.5 端口
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e49fa577281af5fdbaad6f29cf59c83a.png)
1.6协议
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1e322120c252ca7eda11f83e0cdeb887.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/dd2684b490503f517a478133219b1bc9.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7172c931b7ecad7ceb85ba960e39fa61.png)
二、UDP通信程序
2.1 UDP通信原理
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1bc9b7e16491ae099b5e1e0213722cb0.png)
2.2 UDP发送数据
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1febf454996ab78a4431472a856741e0.png)
2.3 UDP接收数据
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8ce50925888636932ae262db1465959f.png)
2.4 UDP通信程序练习
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/de7baf58792f1c51405669a22f4ca70c.png)
TCP通信程序
3.1 TCP通信原理
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5e4777c50592050655f4cea6171b26cd.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/571611a3e669eea0ca223a050239324f.png)
3.2 TCP发送数据
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6e41b44fdba8961b08ee3c428d66c347.png)
3.3 TCP接收数据
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/34e6b7fd0eb8761fb08ff887a0176e03.png)
package demo01;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class TcpClient {
public static void main(String[] args) throws IOException {
Socket socket=new Socket("127.0.0.1",8888);
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));
}
}
package demo01;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TcpServer {
public static void main(String[] args) throws IOException {
ServerSocket server= new ServerSocket(8888);
Socket socket= server.accept();
InputStream is=socket.getInputStream();
byte[] bytes=new byte[1024];
int len=is.read(bytes);
System.out.println(new String(bytes,0,len));
OutputStream os=socket.getOutputStream();
os.write("收到数据,谢谢".getBytes());
socket.close();
server.close();
}
}