网络编程01_01是什么

网络编程01_01是什么网络编程1.1概述网络编程的目的:信息传递,数据交换,通信。实现网络的条件:如何准确定位网络上的一台主机?IP地址+端口号定位到这台计算机上的某个资源找到了这个主机,如何传输数据?——硬件传输介质网络通信的规则:协议——UDP,TCP​ TCP/IP参考模型[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aBe6VKUl-1639203769386)(…/image/01-16372424176942.png)]Javaweb——网页

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

网络编程

1.1概述

网络编程的目的:

信息传递,数据交换,通信。

实现网络的条件:

  1. 如何准确定位网络上的一台主机?

    • IP地址+端口号
    • 定位到这台计算机上的某个资源
  2. 找到了这个主机,如何传输数据?——硬件传输介质

  3. 网络通信的规则:协议——UDP,TCP

    ​ TCP/IP参考模型

    请添加图片描述

Javaweb——网页编程——B/S架构(Browser/Server,浏览器/服务器模式)

网络编程——TCP/IP


C/S架构(Client/Server,服务器-客户机模式)

1.2 IP

IP地址类:InetAddress

  • IP唯一定位网络上一台主机

  • 本机localHost

  • IP地址的分类——命令ipconfig

    • 按照IP地址分类:ipv4/ipv6

      IPV4:127.0.0.1

      一共32位,由4个字节组成,用点隔开,十进制表示,每个字节范围0-255,大概42亿个(30亿北美,4亿亚洲),2011年用尽

      IPV6:fe80::f139:56e1:af51:acc8%19(对19取了模,并不完整)

      一共128位,由8个无符号整数组成,用冒号隔开,十六进制表示(足够多,用不完)

    • 按照公网(互联网)-私网(局域网)分类

      • ABCD类地址
      • 192.168.XXX.XXX专门给组织内部使用
  • 域名:解决记忆IP问题,ip比较难记,域名类似www.baidu.com这样

  • package study1118_net;
    
    import java.net.InetAddress;
    import java.net.UnknownHostException;
    
    //测试IP
    public class TestInetAddress { 
         
        public static void main(String[] args) { 
         
            try { 
         
                //查询本机地址
                InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
                InetAddress inetAddress3 = InetAddress.getByName("localhost");
                InetAddress inetAddress4 = InetAddress.getLocalHost();
                System.out.println(inetAddress1);  // /127.0.0.1
                System.out.println(inetAddress3);  // localhost/127.0.0.1
                System.out.println(inetAddress4);  // DESKTOP-V1GKSNM/192.168.255.1
    
                //查询网站ip地址
                InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com");
                System.out.println(inetAddress2); //www.baidu.com/39.156.66.18
    
                //常用方法
    
    
            } catch (UnknownHostException e) { 
         
                e.printStackTrace();
            }
        }
    }
    

1.3 端口

端口主要用于表示计算机上的一个程序的进程(PID-进程ID)

  • 不同的进程有不同的端口号,不能冲突,用于区分软件
  • 端口规定数量0-65536
  • TCP端口和UDP端口各有65535,同一个协议中端口号不能冲突
  • 端口分类
    • 公有端口0-1023,专用
    • 常见端口
      • HTTP:80
      • HTTP:443
      • FTP:21
      • Telent:23
    • 程序注册端口:1024-49151,分配给用户或者程序
      • Tomcat:8080
      • MySQL:3306
      • Oracle:1521
    • 动态、私有:49152-65535,尽量不使用

常见的网络相关的DOS命令

netstat  -ano  //查看所有端口
netstat  -ano|findstr "5900"   //查看具体端口

打开任务管理器可以查看进程号ctrl+shift+esc


1.4 通信协议

协议:约定。

网络通信协议:速率,传输码率,代码结构,传输控制…

TCP/IP协议簇

传输层协议:TCP,UDP

网络层协议:IP…

  • TCP:用户传输协议(类似打电话)

  • UDP:用户数据报协议(类似发短信)

  • IP:网络互联协议

TCP与UDP对比

TCP:打电话

  • 连接,稳定

  • 三次握手,四次挥手

    建立连接——最少三次:
    A你瞅啥?
    B瞅你咋地?
    A干一场?

    释放连接——四次(抽空看看谢仁希的书)
    A我要走了
    B好的我知道了

    ——–等待——-

    B你真的要走了吗
    A我真的要走了

  • 客户端,服务端

  • 传输完成,释放连接,效率低

UDP:发短信

  • 不连接,不稳定
  • 客户端,服务端:没有明确的界限
  • 不管对方收不收,直接发

1.5 TCP

  • 客户端
  • 服务器
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168481.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 可赎回债券「建议收藏」

    可赎回债券「建议收藏」可赎回债券的价格可赎回债券(callablebonds):发行人有权赎回的债券。为什么发行可赎回债券?通常有赎回保护期(callprotectionperiod),有相对较高的收益率补偿赎

    2022年8月4日
    3
  • 中缀表达式转换为后缀表达式(C语言代码+详解)

    中缀表达式转换为后缀表达式(C语言代码+详解)中缀表达式转换为后缀表达式1.创建栈2.从左向右顺序获取中缀表达式a.数字直接输出b.运算符情况一:遇到左括号直接入栈,遇到右括号将栈中左括号之后入栈的运算符全部弹栈输出,同时左括号出栈但是不输出。情况二:遇到乘号和除号直接入栈,直到遇到优先级比它更低的运算符,依次弹栈。情况三:遇到加号和减号,如果此时栈空,则直接入栈,否则,将栈中优先级高的运算符依次弹栈(注意:加号和减号属于同一个…

    2022年6月16日
    23
  • 50个Java精品源码免积分下载[通俗易懂]

    50个Java精品源码免积分下载[通俗易懂]JAVA开发缺不了代码。代码的数量众多,质量也参差不齐。如果在多如繁星的代码世界中找到最适合自己的无异于大海捞针,所以我为大家搜集了不少优质的代码资源,希望大家喜欢。JAVA开发和PHP开发的OA系统性能比较【源代码】http://down.51cto.com/data/572164Java课程设计案例精编光盘源码【源代码】http://down.51cto.com/data/57

    2022年7月7日
    19
  • 怎么看微信撤回的效果?教你看微信已撤回的消息、图片

    怎么看微信撤回的效果?教你看微信已撤回的消息、图片微信小助手故障之后如何实现微信多开和微信防撤回免认证功能呢?这里macw为大家推荐另外一款非常不错微信多开助手微信伴侣WechatTweak,微信伴侣WechatTweak功能就比较简单直接,主要包括防撤回、多开、免二次认证登录和消息处理增强。WeChatTweak小助手集成版安装教程注意!此版本集成了最新版微信!一键安装即可!无需终端!部分读者朋友反映安装了插件之后聊天记录丢失的问题,可以通过迁移聊天记录的方式来解决:执行以下命令即可迁移聊天记录:cp-R~/Library/C

    2022年6月26日
    31
  • 关于我在黑马程序员培训毕业后的亲身体验

    关于我在黑马程序员培训毕业后的亲身体验首先申明:我本人已经于2016年5月份在广州传智播客java培训完毕业,和黑马程序员官网没有任何的利益往来,也没有人出钱给我帮他们做软文推广,这是我在黑马程序员的亲身体验,不存在虚构。

    2022年7月7日
    34
  • 关于fmincon和cvx[通俗易懂]

    关于fmincon和cvx[通俗易懂]网上有很多fmincon函数如何使用的,这里不多讲。我主要总结我自己知道的。1.精度问题。在我的使用过程中,感觉cvx和fmincon都有精度限制,到10^(-6)左右就不准了。碰到精度问题,我采取做法是同时乘上一个放大因子10^(10)。2.cvx写起来更方便;3.fmincon目标函数和约束函数都可以有多个输入变量,而不仅仅是需要优化的那个变量,这样当目标函数和约束函数以及主要模

    2022年5月29日
    68

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号