《从零开始的Java世界》系列主要讲解Javase部分,从最简单的程序设计到面向对象编程,再到异常处理、常用API的使用,最后到注解、反射,涵盖Java基础所需的所有知识点。学习者应该从学会如何使用,到知道其实现原理全方位式地学习,才能为以后框架的学习打下良好的基础。
目录
1.网络编程概述
2.InetAddress类
3.TCP与UDP协议
3.1TCP
3.2UDP
4.Socket相关类API
4.1通信模型
4.2ServerSocket类
4.2.1Socket类
1.网络编程概述
2.InetAddress类
@Test
public void test() throws UnknownHostException {
//获取IP地址对象实例
InetAddress inet1 = InetAddress.getByName("192.168.0.1");
System.out.println(inet1);
//获取域名对象实例
InetAddress inet2 = InetAddress.getByName("www.baidu.com");
System.out.println(inet2);
//获取本机IP地址实例
InetAddress inet3 = InetAddress.getLocalHost();
System.out.println(inet3);
}
3.TCP与UDP协议
3.1TCP
3.2UDP
4.Socket相关类API
4.1通信模型
4.2ServerSocket类
4.2.1Socket类
public class TCPTest {
//模拟网络传输的方式 复制一张本地图片
//客户端
@Test
public void client() throws IOException {
//1.创建Socket
InetAddress inetAddress = InetAddress.getByName("127.0.0.1");
int port = 9090;
Socket socket = new Socket(inetAddress,9090);
//2.创建File实例
File file = new File("copy_sdz.jpg");
FileInputStream fis = new FileInputStream(file);
//3.通过Socket获取输出流
OutputStream os = socket.getOutputStream();
//读写数据
byte[] buffer = new byte[1024];
int len;
while((len = fis.read(buffer)) !=-1 ){
os.write(buffer,0,len);
}
System.out.println("数据发送完毕");
//4.关闭相关流
os.close();
fis.close();
socket.close();
}
//服务端
@Test
public void server() throws IOException{
//1.创建ServerSocket
ServerSocket serverSocket = new ServerSocket(9090);
//2.接收来自客户端的socket
Socket socket = serverSocket.accept();
//3.通过socket获取一个输入流
InputStream is = socket.getInputStream();
//4.创建File类实例
File file = new File("TCP_copy.jpg");
FileOutputStream fos = new FileOutputStream(file);
//5.读写过程
byte[] buffer = new byte[1024];
int len;
while((len = is.read(buffer)) != -1){
fos.write(buffer,0,len);
}
System.out.println("数据接收完毕");
//6.关闭相关流
fos.close();
is.close();
socket.close();
serverSocket.close();
}
}
内容来源于尚硅谷javase课程的ppt,仅作为学习笔记参考