博客
关于我
Java网络编程学习笔记
阅读量:326 次
发布时间:2019-03-04

本文共 890 字,大约阅读时间需要 2 分钟。

网络编程基础

网络编程实质就是两个或多个设备之间的数据传输。这一过程涉及到几个关键要素:IP地址、端口号、传输协议等。通过理解这些要素,我们可以更好地掌握网络通信的基础。

1.1 网络通讯要素

1.1.1 IP地址

IP地址是网络中标识每个设备的唯一数字编号。为了方便记忆,通常使用主机名(如www代表万维网,baidu代表百度,.com表示区分用途)对应IP地址。例如,www.baidu.com对应一个固定的IP地址。

1.1.2 端口号

端口号用于标识网络应用程序的逻辑地址。常见端口号范围为0~65535,其中0-1024通常由系统预留。不同进程可以使用不同的端口号进行通信。

1.1.3 传输协议

传输协议决定了数据如何包装、传输和解析。常见的协议包括UDP和TCP。

  • UDP(无连接式数据包传输协议)

    • 不需要建立连接,直接将数据封装成数据包传输。
    • 每个数据包大小限制在64KB以内。
    • 传输不保证可靠性。
  • TCP(可靠数据传输协议)

    • 需要建立连接,确保数据完整无误传输。
    • 通过三次握手建立连接。
    • 适用于需要可靠传输的大量数据。

TCP和UDP的主要区别在于是否提供可靠传输。TCP适合需要高可靠性的场景,而UDP适合实时性要求高但可靠性不重要的场景。

网络参考模型

TCP/IP参考模型是计算机网络的标准体系结构。它由TCP和IP协议组成,广泛应用于互联网。该模型的设计考虑了不同网络设备之间的通信需求。

Java对网络编程的支持

Java提供了丰富的API支持网络编程,包括Socket类和URL类。Socket类用于实现网络通信,而URL类用于处理网络资源的定位。

  • Socket

    • 作为网络通信的核心机制,Socket类允许程序在两个计算机之间建立通信渠道。
    • 数据通过Socket进行I/O传输。
  • URL

    • URL是网络资源的唯一标识符,用于定位网页等网络资源。
    • URL格式通常为http://或https://开头,后跟服务器名和端口号。

理解这些基础概念是网络编程的重要前提。通过学习Socket类和URL类的使用,可以更好地掌握Java网络编程的核心技能。

转载地址:http://puhq.baihongyu.com/

你可能感兴趣的文章
NN&DL4.1 Deep L-layer neural network简介
查看>>
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.7 Parameters vs Hyperparameters
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>