1.ip地址:
- 作用:找到网络上的唯一一台设备。
- IP 地址是指 互联网协议 地址, 是 IP Address 的缩写. IP 地址是 IP 协议提供的一种统一的地址格式.
- 格式:4段,每一段的0-255之间,但255这个给⼴广播留留的地址255.255.255.25
- 查看ip地址:ifconfig(linux),ipconfig(windows)
2. 查看网络连通性:
- ping 127.0.0.1 检查本机操作系统网络功能工作是否正常.
- ping 本机网卡IP地址 检查网卡是否正常工作.
- ping 远程主机IP/域名 检查与远程主机的连通性.
- 不通的情况有两种,一种地址写错了,一种防火墙。
- 内网的地址:这个是我们的路由器分配的地址,让我们局域网的用户可以互相通讯,
- 外网的地址:电信这块给你⼀一个设备,这个设备可以得到外网的地址。
3. 端口:
- 作用:用来确定唯一 一台设备上的网络通讯的软件或网络程序必须要有端口号。
- 分类:知名端口0—1023; 动态端口1024—65535。
4. UDP 特点:
- 无连接,资源开销小,速度快
- 数据不可靠,容易丢数据包
实例
服务端:
public class Server {
public static void main(String[] args) {
try {
DatagramSocket server = new DatagramSocket(5060);
DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);
server.receive(packet);
System.out.println(packet.getAddress().getHostName() + "(" + packet.getPort() + "):" + new String(packet.getData()));
packet.setData("Hello Client".getBytes());
packet.setPort(5070);
packet.setAddress(InetAddress.getLocalHost());
server.send(packet);
server. close ();
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端:
public class Client { public static void main(String[] args){ try { DatagramSocket client = new DatagramSocket(5070); DatagramPacket packet = new DatagramPacket(new byte[1024],1024); packet.setPort(5060); packet.setAddress(InetAddress.getLocalHost()); packet.setData("Hello Server".getBytes()); client.send(packet); client.receive(packet); System.out.println(packet.getAddress().getHostName() + "(" + packet.getPort() + "):" + new String(packet.getData())); client.close(); } catch (IOException e) { e.printStackTrace(); } } }