网络编程:利用网络将不同计算机数据进行交换
网络三要素:
IP地址 + 端口 =Socket
协议 :UDP,TCP
inetAddress类的使用
public class InetAddressDemo {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
InetAddress address = InetAddress.getByName("");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
InetAddress localHost = InetAddress.getLocalHost();
System.out.println(localHost);
}
}
用本机名和本机地址
UDP和TCP协议
UDP:将数据源和目的封装在数据包中,不需要建立连接,每个数据包大小在64K内,无连接,是不可靠协议,但是速度很快。
TCP:建立连接,形成传输数据的通道,在连接中进行大数据量的传输;通过三次握手完成连接,是可靠协议,但是效率会稍低。
Socket:应用层和传输层之间的桥梁。下面的底层已经封装好了,我们只需要用Socket进行操作就行了。
Socket原理机制:
通信的两端都有Socket
网络通信其实就是Socket间的通信
数据在两个Socket之间通过IO传输
UDP传输服务器端编写
public class Server {
public static void main(String[] args) throws Exception {
// 创建一个服务端Socket并监听指定端口
DatagramSocket ds = new DatagramSocket(8888);
// 接收数据,并将数据放在数据包中
byte[]