Java高级特性–网络编程
DNS:
- Domain Name System, 域名解析系统
- DNS是一个分布式服务器系统,实现了域名和ip地址的隐射
- 我们请求域名(www.baidu.com),会先进行DNS的解析,得到ip地址后,继续请求ip地址对应的主机
C/S和B/S
C/S(client/server,客户端与服务器端),要开发出两套程序,一套程序为服务端,一套程序为客户端。
B/S(Browse//server ,浏览器与服务端,) 只开发一套服务端的程序,服务端利用浏览器访问,开发维护成本低,由于使用http协议,并且使用80端口,故安全性较差,现在的开发大都以B/S为主。
C/S,分为两种,tcp(可靠的数据连接),udp(不可靠的数据连接)
实现网络编程:
- TCP + Socket实现网络编程
- UDP + Socket实现网络编程
TCP | UDP |
---|---|
面向连接的 | 面向非连接 |
是安全的 | 是不安全的 |
比较慢 | 比较快 |
适合传输大文件 | 适合传输小文件 |
package demo;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPserver {
public static void main(String[] args) throws Exception{
DatagramSocket server=new DatagramSocket(8080);
String str="www.mldn.cn";
DatagramPacket packet=new DatagramPacket(str.getBytes(),0,str.length(), InetAddress.getByName("localhost"),8080); //接收数据
server.send(packet); //发送消息
System.out.println("发送完毕");
server.close();
}
}