您的位置 首页 java

JAVA笔记(二十六):网络编程基础TCP与UDP

1: 网络编程 (理解)

(1) 网络编程 :用 Java 语言实现计算机间数据的信息传递和资源共享

(2) 计算机网络 :是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及 网络通信协议 的管理和协调下,实现资源共享和信息传递的计算机系统。

(3)网络编程模型

JAVA笔记(二十六):网络编程基础TCP与UDP

网络参考模型

(4)网络编程的三要素

A: IP地址 :网络中 设备的标识 ,不易记忆,可用 主机名

JAVA笔记(二十六):网络编程基础TCP与UDP

IP地址组成

JAVA笔记(二十六):网络编程基础TCP与UDP

IP地址分类

JAVA笔记(二十六):网络编程基础TCP与UDP

常见的ip操作

java提供了一个类 InetAddress 供我们使用:

获取任意主机: getByName()

主机名: getHostName()

主机Ip地址: getHostAddress()

B:端口 正在运行的程序的标识 。(物理端口 :网卡口,这里主要讲的是逻辑端口)

有效端口:0~65535,其中0~1024系统使用或保留端口。

:WINDOWS system32 driversetc services 文件,了解常用的 端口号分配

C:协议

JAVA笔记(二十六):网络编程基础TCP与UDP

常用的两个协议

UDP与TCP的区别

UDP : 数据打包, 有限制, 不连接, 效率高, 不可靠 举例 :发短信,邮件

TCP : 建立数据通道, 无限制, 效率低, 可靠 举例 :电话,视频

(3) socket 机制

Socket 套接字 :网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。

Socket原理机制:

A:通信的两端都有Socket。

B:网络通信其实就是Socket间的通信。

C;数据在两个Socket间通过IO传输。

socket机制图解

(4)UDP协议发送和接收数据

发送:

创建UDP发送端的Socket对象

创建数据并把数据打包

发送数据

释放资源

参考代码

接收:

创建UDP接收端的Socket对象

创建数据包用于接收数据

接收数据

解析数据包

释放资源

参考代码

(5) TCP协议 发送和接收数据

发送:

创建TCP客户端的Socket对象

获取输出流,写数据

释放资源

才考代码

接收:

创建TCP服务器端的Socket对象

监听客户端连接

获取输入流,读取数据

释放资源

参考代码

TCP中出现的问题:

(6)案例:

A:UDP

a:最基本的UDP协议发送和接收数据

b:把发送数据改进为键盘录入

键盘录入发送消息

c:一个简易聊天小程序并用 多线程 改进

简单的聊天测试

PS:多线程未展示,即多个用户向同一个客户端发送消息,这里面的可能存在的问题也有很多,这先不总结。

B:TCP

a:最基本的TCP协议发送和接收数据

b:服务器给出反馈

c:客户端键盘录入服务器控制台输出

d:客户端键盘录入服务器写到文本文件

e:客户端读取文本 文件服务器 控制台输出

f:客户端读取文本文件服务器写到文本文件

g:上传图片

h:多线程改进上传文件

ps :TCP这里将用到 数据流 操作,详见JAVA笔记(十九),

文章来源:智云一二三科技

文章标题:JAVA笔记(二十六):网络编程基础TCP与UDP

文章地址:https://www.zhihuclub.com/182180.shtml

关于作者: 智云科技

热门文章

网站地图