美文网首页JAVA程序员Java网络编程
JAVA编程学习笔记,网络编程基础TCP与UDP

JAVA编程学习笔记,网络编程基础TCP与UDP

作者: Java小辰 | 来源:发表于2018-04-02 23:29 被阅读549次

    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

    给你学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

    1:网络编程(理解)

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

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

    (3)网络编程模型

    小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    网络参考模型

    (4)网络编程的三要素

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

    IP地址组成

    IP地址分类

    常见的ip操作

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

    获取任意主机:getByName()

    主机名:getHostName()

    主机Ip地址:getHostAddress()

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

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

    :WINDOWSsystem32driversetcservices文件,了解常用的端口号分配

    C:协议

    常用的两个协议

    UDP与TCP的区别

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

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

    (3)Socket机制

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

    Socket原理机制:

    A:通信的两端都有Socket。

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

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

    socket机制图解

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

    发送:

    创建UDP发送端的Socket对象

    创建数据并把数据打包

    发送数据

    释放资源

    参考代码

    接收:

    创建UDP接收端的Socket对象

    创建数据包用于接收数据

    接收数据

    解析数据包

    释放资源

    小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    参考代码

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

    发送:

    创建TCP客户端的Socket对象

    获取输出流,写数据

    释放资源

    才考代码

    接收:

    创建TCP服务器端的Socket对象

    监听客户端连接

    获取输入流,读取数据

    释放资源

    参考代码

    TCP中出现的问题:

    (6)案例:

    A:UDP

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

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

    键盘录入发送消息

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

    小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    简单的聊天测试

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

    B:TCP

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

    b:服务器给出反馈

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

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

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

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

    g:上传图片

    h:多线程改进上传文件

    ps:TCP这里将用到数据流操作,

    相关文章

      网友评论

        本文标题:JAVA编程学习笔记,网络编程基础TCP与UDP

        本文链接:https://www.haomeiwen.com/subject/hdufhftx.html