/* * 打电话 --连接-- 接了 通话 TCP * 发短信 --发送了就完事了-- 接收 UDP * * 计算机网络: * 计算机网络是指将地理位置不同的 * 具有独立功能的多台计算机及其外部设备, * 通过通信线路和通信设备连接起来,在网络操作系统, * 网络管理软件及网络通信协议的管理和协调下, * 实现资源共享和信息传递的计算机系统。 * * 网络编程的目的: *无线电台--传播交流信息,数据交换,通信 * * 想要达到这个效果需要什么: *1.如何准确的定位网络上的一台主机 192.168.16.124 * 端口号,定位到这个计算机上的某个资源 * 比如在cmd 中输入:ping www.baidu.com 域名访问到IP 定位到百度的主机地址 * * 2.找到了这个主机,如何传输数据? * * * javaweb:网页编程 B/S架构 所有东西通过浏览器访问 * 网络编程:TCP/IP C/S架构 客户端访问 * * 网络通信的要素 * 如何实现网络的通信? * 通信双方的地址: * ip * 端口号 * 192.168.16,124:5900 * * 规则:网络通信的协议 * http;ftp(文件上传);smtp(发送邮件);tcp;udp; *TCP/IP参考模型 * OSI七层网络模型:应用层/表示层/会话层/传输层/网络层/数据链路层/物理层 * TCP/IP四层概念模型:应用层/传输层/网络层/数据链路层 * * 传输层:TCP/UDP * * 在java中万物皆对象: * 在java中肯定有类或东西来表示IP和端口号 * 即学习:IP的类 端口号的类 udp,tcp的类 * */ /* * ip地址:InetAddress * 唯一定位一台网络上计算机 * 127.0.0.1:本机localhost * ip地址的分类 * ipv4/ipv6 * ipv4: 127.0.0.1, 4个字节组成 每个字节长度0-255 42亿个 30亿在北美 4亿在亚洲 2011年用尽; * ipv6:128位,8位无符号整数; * * */ /* * 端口: * 端口表示计算机上的一个程序的进程 * 不同的进程有不同的端口号!用来区分软件! * 被规定0-65535 * TCP,UDP:65535*2 tcp:用80 udp:也可以用80 * 端口分类 * 公有端口0-1023 * http:80 * Https:443 * ftp:21 * telent:23 * 程序注册端口:1024-49151 * Tomcat:8080 * MySQL:3306 * Oracle:1521 * 动态、私有:49152-65535 * * dos命令 * 查看所有的端口: * netstat -ano * 查看指定的端口: * netstat -ano|findstr "5900" * 查看指定端口的进程: * tasklist|findstr "8696" * */ /* * 通信协议 * 协议:约定,就好比说普通话 * 网络通信协议:速率、传输码率、代码结构、传输控制.... * 分层 * TCP/IP协议簇:实际上是一组协议 * TCP:用户传输协议:打电话 * UDP:用户数据报协议:发短信、发邮件 * * TCP: * IP:网络互连协议 * TCP UDP对比: * TCP:打电话 * 连接,稳定 * 三次握手: * 最少需要三次,保持稳定连接! * A:你瞅啥? * B:瞅你咋地? * A:干一场! * 四次挥手: * A:我要走了! * B:你真的要走了吗? * B:你真的真的要走了吗? * A:我真的要走了! * * 客户端、服务端 * 传输完成、释放连接、效率低 * * UDP:发短信 * 不连接,不稳定 * 客户端、服务端:没有明确的界限 * 不管有没有准备好,都可以发给你 * */ /* * TCP编写两个类 * 客户端 * 服务器 * */ //查看接口的实现类:Ctrl+Alt+B //Alt+Enter 补充左边关键字 //Alt+insert 封装类
网络编程详解笔记#Java篇
于 2023-11-19 23:58:30 首次发布