文章目录

  • 一、前言
  • 二、网络通信要素
    • 要素一:IP和端口号
    • 要素二:网络协议
  • 三、TCP网络编程
  • 四、UDP网络编程
  • 五、URL编程

一、前言

网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。

  • 计算机网络:
    把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。

  • 网络编程的目的:
    直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯。

二、网络通信要素

要素一:IP和端口号

IP和端口是通信双方的地址。

  • ① 网络中的计算机是通过IP地址来代表其身份的,它只能表示某台特定的计算机,但是一台计算机上可以同时提供很多个服务;IP地址用来标志一台计算机,但是一台计算机上可能提供多种应用程序,使用端口来区分这些应用程序。
  • ②端口是虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机上运行多个网络应用程序。

1.IP:唯一的标识Internet 上的计算机(通信实体)
2.在Java中使用InetAddress类代表IP
3.IP的分类: IPV4 和 IPV6 ;万维网 和 局域网
4.域名:www.baidu.com (相对形象容易记)
5.本地回路地址:127.0.0.1 d 对应着:localhost
6.如何实例化InetAddress: 两个方法 :getByName(String host) getLocalHost()
7.端口号标识正在计算机上运行的进程(程序)
要求:不同的进程有不同的端口号
范围:被规定为一个 16 位的整数 0~65535。
8.端口号与IP地址的组合得出一个网络套接字:Socket。

public class InetAddressTest {public static void main(String[] args) {try {InetAddress inet1 = InetAddress.getByName("192.168.00.24");System.out.println(inet1);InetAddress inet2 = InetAddress.getByName("www.baidu.com");System.out.println(inet2);//获取本地ip(1)InetAddress inet3 = InetAddress.getByName("localhost");System.out.println(inet3);//获取本地ip(2)System.out.println(InetAddress.getLocalHost());System.out.println(inet3.getHostName());//获取域名System.out.println(inet3.getHostAddress());//获取ip} catch (UnknownHostException e) {e.printStackTrace();}}
}

ServerSocket类方法,Socket类方法,InetAddress类的方法:
更多的方法描述,请参考菜鸟教程

带你了解Java高级编程-----网络编程相关推荐

  1. java练气期(3)----java高级(网络编程)

    什么是java的网络编程 Socket 编程套接字使用TCP提供了两台计算机之间的通信机制. 客户端程序创建一个套接字,并尝试连接服务器的套接字. 当连接建立时,服务器会创建一个 Socket 对象. ...

  2. 【第98题】JAVA高级技术-网络编程17(简易聊天室12:实现客户端一对一聊天)

    回城传送–><JAVA筑基100例> 文章目录 零.前言 一.题目描述 二.解题思路 三.代码详解 多学一个知识点 四.推荐专栏 五.示例源码下载 零.前言 ​ 今天是学习 JAVA ...

  3. 【第99题】JAVA高级技术-网络编程18(简易聊天室13:聊天室服务端)

    回城传送–><JAVA筑基100例> 文章目录 零.前言 一.题目描述 二.解题思路 三.代码详解 多学一个知识点 四.推荐专栏 五.示例源码下载 零.前言 ​ 今天是学习 JAVA ...

  4. 【第90题】JAVA高级技术-网络编程9(简易聊天室4:获得Socket)

    回城传送–><JAVA筑基100例> 文章目录 零.前言 一.题目描述 二.解题思路 三.代码详解 四.推荐专栏 五.示例源码下载 零.前言 ​ 今天是学习 JAVA语言 打卡的第9 ...

  5. 【第91题】JAVA高级技术-网络编程10(简易聊天室5:接收和发送Socket)

    回城传送–><JAVA筑基100例> 文章目录 零.前言 一.题目描述 二.解题思路 三.代码详解 四.推荐专栏 五.示例源码下载 零.前言 ​ 今天是学习 JAVA语言 打卡的第9 ...

  6. 【第87题】JAVA高级技术-网络编程6(简易聊天室1:运行服务器程序,等待客户端连接)

    回城传送–><JAVA筑基100例> 文章目录 零.前言 一.题目描述 二.解题思路 三.代码详解 四.推荐专栏 五.示例源码下载 零.前言 ​ 今天是学习 JAVA语言 打卡的第8 ...

  7. 【第94题】JAVA高级技术-网络编程13(简易聊天室8:使用Socket传递图片)

    回城传送–><JAVA筑基100例> 文章目录 零.前言 一.题目描述 二.解题思路 三.代码详解 四.推荐专栏 五.示例源码下载 零.前言 ​ 今天是学习 JAVA语言 打卡的第9 ...

  8. 【第89题】JAVA高级技术-网络编程8(简易聊天室3:连接超时)

    回城传送–><JAVA筑基100例> 文章目录 零.前言 一.题目描述 二.解题思路 三.代码详解 四.推荐专栏 五.示例源码下载 零.前言 ​ 今天是学习 JAVA语言 打卡的第8 ...

  9. 【第86题】JAVA高级技术-网络编程5(断点续传)

    回城传送–><JAVA筑基100例> 文章目录 零.前言 一.题目描述 二.解题思路 三.代码详解 四.推荐专栏 五.示例源码下载 零.前言 ​ 今天是学习 JAVA语言 打卡的第8 ...

  10. 带你了解Java高级编程-----多线程

    带你了解Java高级编程-----多线程 对于Java的学习,基本的步骤是Java基础编程,掌握了Java语言的基本语法.数组.面向对象编程.异常处理这四部分之后,就要开始对Java高级编程进一步学习 ...

最新文章

  1. Neutron L2Populate
  2. [Hadoop] Error: JAVA_HOME is not set
  3. Linux内核之内核同步(三)——自旋锁
  4. FIFO跨时钟域读写
  5. java查找和替换_java敏感字查找和替换
  6. K for the Price of One(EASY HARD)
  7. git 操作二进制文件
  8. intern cookie 纠结之二
  9. python对象的复制问题
  10. 小米申请雷军签名商标获批
  11. 如何高效并快速的掌握NLP与深度学习路径?来公众号寻找经验吧~
  12. 开源软件与自由软件的区别
  13. BGP多线和双线双IP服务器有什么区别? 哪个网站访问速度更快?
  14. GIS大数据解决方案
  15. Java 新人含笑7步癫 No.140
  16. 人工智能ai的有关专业术语_您需要知道的11个人工智能术语
  17. 读什么,才能让你的心沉静下来
  18. 电子计算机厂房火灾危险性,三氯化磷储罐的火灾危险性分类?
  19. 盘点程序员的花式赚外快的骚操作
  20. mybatis中resultMap和resultType区别,三分钟读懂

热门文章

  1. 全球与中国盲点检测(BSD)系统和自适应巡航控制(ACC)系统市场深度研究分析报告
  2. 华为服务器怎么查看cpu型号,华为RH2288H V2处理器性能测试_华为 FusionServer RH2288 V2_服务器评测与技术-中关村在线...
  3. Windows PyQt5安装说明
  4. java epson指令集_小票打印机指令集封装(支持EPSON指令)
  5. 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) -----(六)基础知识补充
  6. CentOS 163镜像使用帮助
  7. iOS 热更新8种实现方式
  8. 【产品经理】用户增长方法论
  9. 利用Python和win32编程范例——按需定制一个按键精灵
  10. 常微分方程(Ordinary Differential Equation I)