1.Java网络编程的概念

1. 计算机网络概念
指分布在不用区域的计算机通过外接设备(交换机和路由器)连接在一起,实现了资源共享和数据传输的计算机系统
2. ip地址

ip地址:
        Internet上的每台主机(Host)都有一个唯一的IP地址。
        IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,
        段与段之间用句点隔开。例如159.226.1.1。(四个字节)
    ip地址的分类:
         IP地址是由网络号和主机号组成
        A类地址:8位网络位,24位主机位 (国家使用)   一个网络号+三个主机号 
        B类地址:16位网络位,16位主机位(学校使用)  两个网络号+两个主机号
        C类地址: 24位网络位,8位主机位(普通使用)  三个网络号+一个主机号
       192.168.1 (代表是网络号) 255局域网
    特殊的ip地址:
        127.0.0.1 表示本机地址
3.port端口
port端口:
        如果把IP地址比作一间房子 ,端口就是出入这间房子的门。
        真正的房子只有几个门,但是一个IP地址的端口 可以有65536(即:2^16)个之多!端口是通过端口号来标记的,
        端口号只有整数,范围是从0 到65535(2^16-1)
    port端口的分类:
    Port分类(0~65535):
        公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。
        注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。
        动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。
    常用端口:
        21    FTP
        80    HTTP
        443  HTTPS
4. tcp:
 TCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、
 基于字节流的运输层(Transport layer)通信协议
        特点:
        1.面向连接的协议,数据传输必须要建立连接,所以在TCP中需要连接时间。
        2.传输数据大小不限制,一旦连接建立,双方可以按统一的格式传输大的数据。
        3.一个可靠的协议,确保接收方完全正确地获取发送方所发送的全部数据。
        4.三次握手
5.udp
 UDP: User Datagram Protocol的简称, 中文名是用户数据包协议,
  是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务
        特点:
        1.每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收方的连接。
        2.UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内。
        3.UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。

6.通信3要素
1.ip地址
 2.端口号
 3.传输协议
7.Java网络编程
Java网络编程:
      Java网络编程其实就是实现局域网或互联网之间的数据通信(数据传输)。
Java网络编程要素:
      1.通过前面的知识,大家知道了计算机之间的数据传输需要三个要素。
      2.IP(主机名)、端口、协议
      3.Java是OOP语言,所以将其封装为特定的对象,java.net.*
对象的映射:
       IP     主机名   (InetAddress)
       端口   数字标识   不用封装为对象
8. InetAddress使用方法
此类表示互联网协议 (IP) 地址。
        功能
            getLocalHost()
            getHostAddress()
            getHostName()
            getByName(String host)
            getAllByName(String host)
        细节
          1.使用getByName(String host)通过一个IP地址找主机时,如果IP和Address没有对应在公网上,
            那么该IP解析不了对应的地址,而且显示为对应IP且查询很慢。
          2.可以getByName(String host)找出域名对应的IP,getAllByName()可以获取多个地址。

9.UDP和TCP协议的使用
       UDP
        将数据极其源和目的封装为数据包,不需要建立连接。
        每个数据包大小限制在64K中
        因为无连接,所以不可靠
        因为不需要建立连接,所以速度快
        如:人说话、飞秋、凌波、CS等
        TCP
        面向连接,有特有的通道
        在连接中传输大数据量
        通过三次握手机制连接,可靠协议
        通信前必须建立连接,效率稍低
        如:打电话,文件的传送.
10.socket(编程)

socket(编程):
        不同的通信规则需要定义不同的插座。
        UDP:DatagramSocket  、 DatagramPacket
        TCP:ServerSocket 、Socket
  UDP数据传输:
        DatagramSocket与DatagramPacket
        建立发送端,接收端
        建立数据包
        调用Socket的发送接收方法
        关闭Socket
  TCP数据传输:
        ServerSocket和Socket
        建立客户端和服务器端
        建立连接后,通过Socket中的IO流进行数据的传输
        关闭socket

你可能感兴趣的:(1.Java网络编程的概念)