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

JavaSE: 网络编程

1.1 概述

java程序员面对统一的网络编程环境

B/S 架构 和 C/S架构

1.2 网络通信的两个要素

  1. 通信双方的地址:ip + 端口号

  1. 网络通信协议:TCP/IP协议(事实上的国际规则)、OSI模型(理想化)

1.3 Inet Address

本地回环地址(hostAddress):127.0.0.1

主机名(hostName):localhost

IP地址分类

分类一:

ipv4:4个字节,即4个0-255,

ipv6:16个字节,写成8个无符号整数,

分类二:

公网地址:万维网使用

私有地址:198.168开头的,专为组织机构内部使用

InetAddress类

www.baidu.com => DNS解析(150.194.117.44)=> 本机host文件判断是否有域名地址 =>DNS服务器找主机

    public static void main(String[] args) {try {// 获取指定IP地址InetAddress inetAddress1 = InetAddress.getByName("192.168.1.1");System.out.println(inetAddress1); ///192.168.1.1InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com");System.out.println(inetAddress2);  //www.baidu.com/110.242.68.4// 获取本地地址InetAddress inetAddress3 = InetAddress.getByName("127.0.01");System.out.println(inetAddress3);   // /127.0.0.1InetAddress inetAddress4 = InetAddress.getByName("localhost");System.out.println(inetAddress4);   // localhost/127.0.0.1InetAddress inetAddress5 = InetAddress.getLocalHost();System.out.println(inetAddress5);   // DESKTOP-OKFCPBN/10.61.5.154// getHostNameSystem.out.println(inetAddress2.getHostName()); // www.baidu.comSystem.out.println(inetAddress2.getAddress());  // [B@b1bc7edSystem.out.println(inetAddress2.getCanonicalHostName());    // 110.242.68.4}catch (UnknownHostException e){e.printStackTrace();}}

1.4 端口号

标识正在计算机上运行的进程 0-65535

  • 公认端口: 0-1023, 预先定义的服务通信占用

  • http: 80

  • https: 443

  • ftp: 21

  • telnet: 23

  • 注册端口:1024-49151, 分配给用户进程、程序

  • Tomcat:8080

  • mysql: 3306

  • oracle: 1521

  • 动态私有端口:

  • 49152-65535

端口+IP,得到一个网络套接字,Socket。所以网络编程也叫Socket编程。

    public static void main(String[] args) {InetSocketAddress inetSocketAddress1 = new InetSocketAddress("127.0.0.1", 9090);System.out.println(inetSocketAddress1.getHostName());   // 127.0.0.1System.out.println(inetSocketAddress1.getAddress());    // 地址:127.0.0.1/127.0.0.1System.out.println(inetSocketAddress1.getPort());       // 端口:9090}

1.5 网络通信协议

TCP和UDP网络编程实例。tomcat等

http://www.lryc.cn/news/37635.html

相关文章:

  • 计算机图形学09:二维观察之点的裁剪
  • 2023Java 并发编程面试题
  • CAD如何绘制A0/A1/A2/A3/A4图框?
  • R 安装 “umap-learn“ python 包
  • 测试同学如何快速开发测试平台?
  • 【程序员接口百宝箱】免费常用API接口
  • 使数组和能被P整除[同余定理+同余定理变形]
  • 25k的Java开发常问的Synchronized问题有哪些?
  • ES增量同步方案
  • 计算器--课后程序(Python程序开发案例教程-黑马程序员编著-第6章-课后作业)
  • YOLOv5中添加SE模块详解——原理+代码
  • arcgispro3.1(账号登陆)
  • VB6换个思路解决微信下载文件只读的问题(含源码)
  • Allegro如何知道组合操作命令的拼写
  • CDO高效处理气象数据
  • 1. Qt Designer Studio界面介绍
  • elementUI+vue_vue-admin-template框架
  • SpringBoot项目使用Schedule注释创建定时任务
  • 学习 Python 之 Pygame 开发魂斗罗(十一)
  • Linux驱动开发
  • 32--Vue-前端开发-Vue语法之组件化开发
  • 打怪升级之CFileDialog类介绍
  • 配天智造自主原创数字工厂:百余名员工人均创收122万
  • COLMAP
  • 2023-3-8 刷题情况
  • 关于长连接服务器和客户端之间要加入心跳的一些讨论
  • LeetCode——1590. 使数组和能被 P 整除
  • 12N65-ASEMI高压MOS管12N65
  • cushy-serial 一个轻量级Python serial库
  • 音视频开发系列(7)——Opengl常用Api介绍part1