2022-8-11 第一组 (≧∇≦) 学习笔记
1.网络通信(网络编程)
- 服务器:是一台低配的电脑
- 客户端:可以是电脑,手机,平板,网页
- 在自己的电脑上搭建服务器环境,我们的电脑既是服务器,又是客户端
1.1 Socket编程
-
socket编程是建立在TCP/IP协议上
-
在网络环境下访问其他的主机
- 通过IP地址+端口号形式可以访问其他的主机
- 通过指令控制台CMD:ipconfig查看IPv4地址,是当前局域网下的ip地址
-
一台电脑可以有多个端口号,每个端口号的程序也可以不同
-
Socket通信的服务端也是一个对象;ServerSocket
-
TCP/IP
-
// 服务端 @Test public void test01() throws IOException { // 创建一个服务器对象绑定在8888端口 ServerSocket serverSocket = new ServerSocket(8888); System.out.println("服务器已启动"); // 服务器在等待客户端连接 Socket accept = serverSocket.accept(); InputStream inputStream = accept.getInputStream(); OutputStream o = new FileOutputStream("c:/a.jar", true); byte[] bytes = new byte[1024]; while ( inputStream.read(bytes) != -1) { o.write(bytes); } System.out.println(accept); o.close(); inputStream.close(); accept.close(); } // 客户端 @Test public void test02() throws IOException { Socket socket = new Socket(); socket.connect(new InetSocketAddress(InetAddress.getLoopbackAddress(), 8888)); System.out.println("客户端已启动"); // 客户端发送数据给服务器 OutputStream outputStream = socket.getOutputStream(); InputStream inputStream = new FileInputStream(new File("c:/commons-io-2.6.jar")); byte[] bytes = new byte[1023]; int len; while ((len = inputStream.read(bytes)) != -1) { outputStream.write(bytes, 0, len); } inputStream.close(); outputStream.close(); socket.close(); }
-
-
1.2 UDP
-
不可靠的传输协议
-
// 客户端 @Test public void test01() throws IOException { DatagramSocket datagramSocket=new DatagramSocket(); String string="发送的消息"; byte[] bytes=string.getBytes(); // 构建成一个数据报文 DatagramPacket packet=new DatagramPacket(bytes,0, bytes.length, InetAddress.getLocalHost(),9999); datagramSocket.send(packet); System.out.println("数据发送成功"); datagramSocket.close(); } // 服务端 @Test public void test02() throws IOException { // 服务器指定端口号 DatagramSocket datagramSocket=new DatagramSocket(9999); byte[] bytes=new byte[1024*1024]; DatagramPacket packet=new DatagramPacket(bytes,0,bytes.length); datagramSocket.receive(packet); System.out.println(new String(packet.getData(),0,packet.getLength())); datagramSocket.close(); }
1.3 URL
URL url=new URL("https://192.168.1.1:8888");
// 获取协议
System.out.println(url.getProtocol());
// 获取地址
System.out.println(url.getHost());
// 获取端口号
System.out.println(url.getPort());
1.4 web
- 软件架构
- C/S架构:Client/Server 客户端/服务器 ——QQ,腾讯会议,网游【需要下载】
- B/S架构:Browser/Server 浏览器/服务器——各种网页【不需要下载】
- 移动互联的时代——以手机端为主,C/S架构
- Java主要要做的就是架构里的Server端
- 静态资源:所有用户访问后,得到的结果都是一样的。——html
- 动态资源:每个用户访问后,得到的结果是不一样的。——爱奇艺
- Java主要要做的就是架构里的Server端
- web服务器:
- 接受用户的请求,处理请求,给出响应。
- 本机的ip地址
- cmd——ipconfig
- 127.0.1.1——本机(建议)
- localhost——本机【前提:你的电脑要联网(热点,网线),要激活一下网卡】
- 浏览器访问本机——127.0.1.1:8080
本文作者:(≧∇≦)(≧∇≦)(≧∇≦)
本文链接:https://www.cnblogs.com/gycddd/p/16577572.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
2022 Java实训
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~