Java网络

目录

一、网络编程概述

1.计算机网络

2.发展过程

3.作用

4.核心问题

二、网络模型

分层原因

三、通信要素

1.IP地址

2.端口

3.通信协议

​编辑四、java中的两种协议下的编程

基于TCP协议的编程

基于UDP协议的编程


一、网络编程概述

1.计算机网络

把不同区域的计算机(广义上的)通过通信设备和线路连接起来,

可以实现数据的传输和共享的系统

2.发展过程

实现不同计算机之间联系,必须有介质连接

最开始在一间办公室

后来一栋楼

一个城市

一个国家

全球

3.作用

聊天-->聊天软件 QQ

java语言是支持网络间的数据传输的,将底层的细节封装起来了,

给程序员提供了一套标准的类库,

很方便使用java语言开发出可以进行网络通信的软件.

4.核心问题

借助计算机网络,实现我们缩写的程序,在不同的电脑上,

可以进行数据传输.

如何找到网络世界中的目标主机,以及目标软件

win+r cmd ipconfig 查找自己电脑的ip:192.168.124.144

如何安全可靠的进行数据传输 协议 规则

二、网络模型

OSI参考模型,是一个理想化的标准模型

分为7层

实际上的使用Tcp/ip网络模型

分为4层

应用层(Http)

运输层(协议)

网络层(IP)

物理链路层(硬件设备)

分层原因

在不同的层中,对数据加入不同的头(协议,ip),

逐层分工处理.

三、通信要素

三要素:IP地址、端口号和通信协议

1.IP地址

目标主机,以及目标软件

IP:在网络世界中,是计算机地址

局域网地址: 192.168.1.20 连接到路由器,会自动分配ip

广域网地址: 家里的宽带 与外界连接

本机地址: 本地回环地址 127.0.0.1

2.端口

ip找主机

端口找程序

ip+端口 找到目标计算机 以及你想要的程序

端口号0-65535之间 由于0-1024被一些系统程序使用

所以我们开发的程序可以从1204-65535区间定义

但是不能与已有的端口冲突

3.通信协议

为了安全可靠的进行数据传输,需要对传输内容,速率,出错之后的吃力办法等进行控制

而制定的一些规约,成为协议.

传输层有两个主要的协议:

传输控制协议TCP(Transmission Control Protocol)

使用Tcp协议进行数据传输前,

必须先检测网络是否通畅,客户端是否能连接到服务器端,

如果能连接到,则进行数据传输,如果连接不到,会报错.

采用的是3次握手的机制

tcp是可靠的,相对udp效率低

用户数据报协议UDP(User Datagram Protocol)

将数据封装数据报

数据报包含数据,自己的ip,目标ip

发送前不需要建立连接,直接发送 例如发射导弹(目标坐标)

是不安全的,但是效率高

四、java中的两种协议下的编程

基于TCP协议的编程

服务器端:

ServerSocket serverSocket = new ServerSocket(9998);

Socket socket = serverSocket.accept();//监听

客户端:

Socket socket=new Socket("127.0.0.1",9998); //创建Socket对象时,建立与服务器端连接

socket.getOutputStream();//获得输入流

socket.getInputStream();//获得输出流

基于UDP协议的编程

流 程:

1. DatagramSocket与DatagramPacket

2. 建立发送端,接收端

3. 建立数据报

4. 调用Socket的发送、接收方法

5. 关闭Socket

发送端与接收端是两个独立的运行程序

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘伊珂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值