第十四章 网络编程
1. 网络通信协议
TCP
- 使用TCP协议之前,需建立TCP链接,形成传输数据通道
- 传输前采用**三次握手方式,点对点通信是安全可靠的**
- TCP进行通信的两个应用进行分别是 客户端 、 服务器
- 在连接过程中**可以进行大数据量的传输**
- 传输完毕之后**需要释放已经建立的连接,效率低**
UDP
- 将数据、源、目的封装成数据包,不需要建立连接
- 每个数据包的大小限制在64K以内
- 发送时不管对方是否准备好,接收方收到也不确认,因此不安全的
- 可以进行广播发送,发送数据结束时,无需释放资源,开销小,速度快
public class TCPTest{
public static void main(String[] args) throws IOException{
InetAddress inet = InetAddress.getByName("127.0.0.1");
Socket socket = new Socket(inet,9999);
OutputStream os = socket.getOutputStream();
os.write("这是客户端".getBytes());
os.close();
socket.close();
}
@Test
public void server(){
ServerSocket ss = new ServerSocket(9999);
Socket socket = ss.accept();
InputStream is = socket.getInputStream();
byte[] data = new byte[1024];
int len;
while((len = is.read(data) != -1){
String str = new String(data,0,len);
System.out.println(str);
}
System.out.println(socket.getInetAddress().getHostAddress());
}
}