当前位置: 首页 > news >正文

【沉浸式求职学习day25】【部分网络编程知识分享】【基础概念以及简单代码】

不知道大家一直高强度学习自己是什么样的感觉,反正我现在逐渐变得麻木了,马上又要实习笔试了,每次笔试都要突击,每次突击都意识到自己有太多不会的,主打一个心累,但是又能怎样呢,自己选的路就是要坚持下去。

沉浸式求职学习

  • 网络编程
    • 概述
    • 网络通信要素
    • IP
    • 端口

网络编程

概述

  • 计算机网络: 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
  • 网络编程的目的:无线电台…传播交流信息,数据交换,通信。
  • 想要达到这个效果需要什么:
    1. 如何让准确的定位网络上的一台主机 192.168.16.124:端口, 定位上这个计算机上的某个资源。
    2. 找到了这个主机,如何传输数据呢?
  • Javaweb:网页编程 、 B/S架构
  • 网络编程:TCP/IP 、 C/S

网络通信要素

如何实现网络的通信?

举例:

  • 通信双方的地址:
    • ip:192.168.16.124
    • 端口:5900
  • 规则:网络通信的协议:TCP/IP(这是一个协议)

总结

  1. 网络编程中有两个主要的问题:
    • 如何让准确的定位到网络上的一台或多台主机;
    • 找到主机之后如何通信;
  2. 网络编程中的要素:
    • IP和端口号:IP
    • 网络通信协议:UDP、TCP
  3. 万物皆对象

IP

IP 地址:InetAddress

  • 唯一定位一台网络上的计算机

  • 127.0.0.1: 本机localhost

  • ip地址的父类

    • IPV4: 127.0.0.1 ,4个字节组成。,0~255, 42亿~;30亿都在北美,亚洲4亿。2011年就用尽;所以是很缺乏且不公平的。
    • IPV6: fe80::f0e0:7383:ad8e:f32f%3 ,128位。8个无符号整数
  • 公网(互联网)–私网(局域网)

    • ABCD地址

    • 192.168.xx.xx,专门给组织内部使用。

  • 域名:记忆IP问题!

    • IP:www.vip.com 唯品会专用IP

上个代码看看:

package NetProgramming;import java.net.InetAddress;
import java.net.UnknownHostException;// 测试IP
public class IpTest1 {public static void main(String[] args) {try {// 查询本机地址InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");System.out.println(inetAddress1);InetAddress inetAddress2 = InetAddress.getByName("localhost");System.out.println(inetAddress2);InetAddress inetAddress3 = InetAddress.getLocalHost();System.out.println(inetAddress3);// 查询网站ip地址InetAddress inetAddress4 = InetAddress.getByName("www.baidu.com");System.out.println(inetAddress4);//常用方法
//            System.out.println(inetAddress4.getAddress());System.out.println(inetAddress4.getCanonicalHostName()); //规范:ipSystem.out.println(inetAddress4.getHostAddress());  // ipSystem.out.println(inetAddress4.getHostName()); // 域名,或者自己电脑的名字} catch (UnknownHostException e) {throw new RuntimeException(e);}}}

通过InetAddress类的一些方法查询本机的IP以及外部网站,外部的会慢一些~


端口

  • 端口表示计算机上一个程序的进程;

  • 不同的进程有不同的端口号!用来区分软件!

  • 被规定0~65535

  • TCP,UDP:65535*2个端口 单个协议下,端口号不能冲突

  • 端口分类

    • 共有端口 0~1023 内置的进程使用
      • HTTP:80
      • HTTP:443 如访问https://www.baidu.com:443 访问的还是百度
      • FTP:21
      • TELENT:23
    • 程序注册端口:1014-49151,分配给用户和程序
      • Tomcat:8080
      • MySql:3306
      • Oracle:1521
    • 动态、私有端口:49152~65535

大概的端口范围就是这些~

上个查端口以及地址的简单代码:

package NetProgramming;import java.net.InetSocketAddress;public class TestInetSocketAddress {public static void main(String[] args) {InetSocketAddress inetSocketAddress = new InetSocketAddress("127.0.0.1", 8080);System.out.println(inetSocketAddress);System.out.println(inetSocketAddress.getPort());}}

由于今天太累了,不给大家分享太多,明日分享非常多的干货,敬请期待!!!!!

相关文章:

  • C语言实现贪心算法
  • PostgreSQL技术内幕29:事件触发器tag原理解析
  • 开发者专用部署工具PasteSpider的V5正式版发布啦!(202504月版),更新说明一览
  • 厚铜PCB打样全流程解析:从文件审核到可靠性测试的关键步骤
  • 华为L410上制作内网镜像模板:在客户端配置模板内容
  • 1.10软考系统架构设计师:优秀架构设计师 - 练习题附答案及超详细解析
  • Jetpack Compose 基础组件学习2.1:Surface
  • VuePress可以做什么?
  • Centos 7 ssh连接速度慢(耗时秒+)
  • 视频噪点多,如何去除画面噪点?
  • Kafka 架构设计和组件介绍
  • Golang | 位运算
  • 复杂地形越野机器人导航新突破!VERTIFORMER:数据高效多任务Transformer助力越野机器人移动导航
  • GitHub Copilot (Gen-AI) 很有用,但不是很好
  • 【Python】保持Selenium稳定爬取的方法(防检测策略)
  • 点云从入门到精通技术详解100篇-基于二次误差和高斯混合模型的点云配准算法
  • Java学习手册:时间戳、时区等相关概念
  • 项目笔记2:post请求是什么,还有什么请求
  • 应力腐蚀环功能及指标
  • 【AI平台】n8n入门2:第一个工作流,调用本地大模型
  • 促进产销对接,安徽六安特色产品将来沪推介
  • 我的科学观|张峥:AI快速迭代,我们更需学会如何与科技共处
  • 第二十届中国电影华表奖揭晓!完整获奖名单来了
  • 夜读丨庭院春韵
  • 一个失败的赛季咎由自取,皇马只能把希望留到夏天
  • 106岁东江纵队老战士、四川省侨联名誉主席邱林逝世