1.TCP和UDP的区别
TCP:可靠的传输协议,建立的是可靠的连接,在连接时需要经过三次握手,在释放连接时需要经历四次挥手,可以传输大容量的数据(就像日常生活中的打电话,必须要两个人的手机都在身边且都可以打得通才可以进行通话)
UDP:不可靠的传输协议,建立的是不可靠的连接,以数据包的形式传递数据,每个数据包的大小为64K,可以发送多个数据包
2.TCP网络编程
package com.atguigu.javv.internet;
import org.junit.Test;
import java.io.*;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class InternetTest3 {
@Test
public void client() throws Exception{
InetAddress inetAddress = InetAddress.getByName("192.168.0.102");
Socket socket = new Socket(inetAddress,8898);
OutputStream outputStream = socket.getOutputStream();
BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream("huang.jpg"));
byte[] bytes = new byte[1024];
int len;
while((len = bufferedInputStream.read(bytes)) != -1){
outputStream.write(bytes,0,len);
}
bufferedInputStream.close();
outputStream.close();
socket.close();
}
@Test
public void server() throws Exception{
ServerSocket serverSocket = new ServerSocket(8899);
Socket accept = serverSocket.accept();
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream("huang1.jpg"));
InputStream inputStream = accept.getInputStream();
byte[] bytes = new byte[1024];
int len;
System.out.println("复制开始-------------------");
while((len = inputStream.read(bytes)) != -1){
bufferedOutputStream.write(bytes,0,len);
}
System.out.println("复制结束----------");
bufferedOutputStream.close();
accept.close();
serverSocket.close();
}
}
3.UDP网络编程
package com.atguigu.javv.internet;
import org.junit.Test;
import java.io.IOException;
import java.net.*;
public class InternetTest4 {
// 1.发送端
@Test
public void testUDP() throws IOException {
DatagramSocket datagramSocket = new DatagramSocket();
String str = "你好";
byte[] data = str.getBytes();
InetAddress inetAddress = InetAddress.getLocalHost();
DatagramPacket datagramPacket = new DatagramPacket(data,0,data.length,inetAddress,9090);
datagramSocket.send(datagramPacket);
datagramSocket.close();
}
// 2.接收端
@Test
public void recevier() throws IOException{
DatagramSocket datagramSocket = new DatagramSocket(9090);
byte[] bytes = new byte[100];
DatagramPacket packet = new DatagramPacket(bytes,0,bytes.length);
datagramSocket.receive(packet);
System.out.println(new String(packet.getData(),0,packet.getLength()));
datagramSocket.close();
}
}
4.URL网络编程
package com.atguigu.javv.internet;
import org.junit.Test;
import java.net.MalformedURLException;
import java.net.URL;
public class InternetTest5 {
@Test
public void test() throws MalformedURLException {
URL url = new URL("http://localhost:80/eaamples/hello.txt");
String protocol = url.getProtocol();
System.out.println(protocol);
String host = url.getHost();
System.out.println(host);
int port = url.getPort();
System.out.println(port);
String path = url.getPath();
System.out.println(path);
}
}