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

【沉浸式求职学习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());}}

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

http://www.xdnf.cn/news/1826.html

相关文章:

  • 防火墙原理与应用总结
  • re.compile(pattern) 是什么
  • day37图像处理OpenCV
  • [贪心_7] 最优除法 | 跳跃游戏 II | 加油站
  • vue滑块组件设计与实现
  • 高防IP+CDN组合:电商大促的“双保险”防护方案
  • Spine 动画教程:皮肤制作
  • 浅析锁的应用与场景
  • CSS 入门全解析
  • 实验3 函数与代码复用
  • 【Java学习日记26】:方法的重载
  • 通道降维方式
  • Java大模型开发与应用 - 面试实战
  • 【金仓数据库征文】金仓数据库KingbaseES:在技术与人文交织中开拓信创未来
  • 【Linux】gdb工具,Linux 下程序调试的 “透视眼”
  • AgeTech News|银发科技一周行业大事件
  • Python 端口转发:程序员必备的网络黑科技!
  • Linux解压tar.gz包的正确姿势(附赠防抓狂指南)
  • 2024 年中国头部互联网企业财报解读:阿里财报、腾讯财报、京东财报、美团财报、拼多多财报、小米集团财报
  • 第一部分:git基本操作
  • netlist
  • python——异常
  • 区块链驱动的供应链金融创新:模型构建与商业化路径研究
  • string容器训练算法题
  • IJCV期刊2025年3月研究热点解析
  • BLIP 系列论文(BLIP、BLIP-2、InstructBLIP)
  • Android面试题目基础总结(二)
  • RCE学习
  • 第八节:进阶特性高频题-Pinia与Vuex对比
  • 马架构的Netty、MQTT、CoAP面试之旅