12.网络编程
网络编程
12.1 网络编程入门:
计算机网络
网络编程三要素:
- IP地址:指定要接收数据的计算机和识别发送的计算机
- 端口:IP地址唯一标识网络中的设备,端口号就是唯一标识设备中的应用程序
- 协议:连接和通信的规则,常见的协议有UDP协议和TCP协议
IP地址:
-
IPv4:给每个主机分配32bit的地址,常表示为十进制,如192.168.1.66,这种表示法叫"点分十进制表示法"
-
IPv6:扩大地址空间,通过IPv6重新定义地址地址空间,采用128位地址长度
ipconfig:查看本机IP地址
ping ip地址:查看网络是否连通
特殊ip地址:127.0.0.1,是回送地址,可以代表本机地址,一般用来测试
InetAddress使用:
- getByName():确定主机名称的IP地址
- getHostName():获得此IP地址主机名
- getHostAddress():返回文本显示中的IP地址字符串
端口:
设备上应用程序的唯一标识,两个字节表示的整数,0-65535
协议:
连接和通信的规则
UDP协议:用户数据报协议,是一种无连接通信协议,消耗资源少,通信效率高,视频、音频等
TCP协议:传输控制协议,是面向连接的通信协议,提供两台设备间可靠无差错的数据传输,每次连接创建都需要经过"三次握手",上传文件、下载文件、浏览网页等
三次握手:
- 第一次握手:客户端向服务器端发送出连接请求,等待服务器确认
- 第二次握手:服务器端向客户端回送一个响应,通知客户端收到了连接请求
- 第三次握手:客户端再次向服务器端发送确认信息,确认连接
12.2 UDP通信程序:
UDP通信原理:
是一种不可靠的网络协议,Socket对象完成数据的发送和接收
UDP发送数据:1)创建发送端Socket对象,2)创建数据并打包,3)调用DatagramSocket对象方法发送数据,4)关闭发送端
UDP接收数据:1)创建接收端Socket对象(指定端口),2)创建数据包,用于接收数据,3)调用DatagramSocket对象方法接收数据,4)解析数据包,把数据显示在控制台,5)关闭接收端
12.3 TCP通信程序:
TCP发送数据:1)创建客户端Socket对象(Socket),2)获取输出流,写数据,3)释放资源
TCP接收数据:1)创建服务器端Socket对象(ServerSocket),2)获取输入流,读数据并显示,3)释放资源
// 多线程实现文件上传
ServerSocket ss = new ServerSocket(1001);
while(true){
// 监听客户端
Socket s = ss.accept();
// 为每个客户端开启一个线程
new Thread(new ServerThread(s)).start();
}
// ss.close()

浙公网安备 33010602011771号