网络编程
一:网络协议
我们所学的网络协议主要就是两种TCP和UDP。
两者的区别:
TCP是面向无连接的,可靠的网络协议,在连接的时候需要三次握手
UDP是面向无连接的,不可靠的网络协议
二:IP地址
我们目前用的IP地址主要是IPv4这个是32位,目前正在推广的下一代是IPv6,也就是128位网络地址。
127.0.0.1这个表示本地回环,我们写程序时经常要本机测试,也就是用到这个地址,在网络上一个ip地址对应一个主机,ip地址是唯一的
端口:我们这里的端口也就是协议端口一般的机器上有2的16次方,也就是65536个端口,端口号是对主机的不同进程的唯一标识符,用于网络程序之间通信
三:socket编程
Socket编程就是套接字编程,在编写程序的时候必须在建立连接的时候告诉对方自己IP地址和端口号。
java的Socket编程主要就是使用已经封装好的类,用的时候需要导入net包,不同的协议对应的Socket类也是不同的,DatagramSocket类用于UDP编程,ServerSocket用于TCP之间进行编程
1:DatagramPacket 类的编程:1:DatagramPacket 类的编程:
//创建接受数据的DatagramPacket对象
DatagramPacket packet=new DatagramPacket(buf, 256);
//接收数据
socket.receive(packet);
//创建一个发送数据的DatagramPacket对象
DatagramPacket packet = new DatagramPacket(buf, length, address, port);
//发送数据报
socket.send(packet);
2:ServerSocket编程
建立客户端和服务器端,建立连接后,通过Socke中的IOj进行传输,完成后关闭Socket.
1.建立服务端的socket服务,ServerSocket();并监听一个端口
2。获取并连接客户端对象。通过SeverSocket的阻塞式的accept()方法
//服务器端
ServerSocket ss=new ServerSocket(5555);
Socket s=ss.accept();
InputStream in=s.getInputStream();//使用客户端的对象读取流来读取数据
//客户端
Socket s=new Socket("address",port);
OutputStream out=s.getOutputStream();
out.write("Hello".getBytes());
s.close();
四:URL(统一资源定位符)
URLConnection 获取连接器