JAVAEE初阶 网络编程(二)

这篇具有很好参考价值的文章主要介绍了JAVAEE初阶 网络编程(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在构造一个简单的服务器之前,我们需要了解到一些传输层提供给应用层的一些API。

JAVAEE初阶 网络编程(二),java-ee,网络,javaJAVAEE初阶 网络编程(二),java-ee,网络,javaJAVAEE初阶 网络编程(二),java-ee,网络,java

一. 服务器端

1.1 服务器端的代码分析。

在服务器端,第一步我们要创建DatagramSocket对象。
socket对象是在内存中的,针对这个内存对象操作就会改变网卡。
一个主机上的端口号是整数,并且只能被一个进程所绑定,但是一个进程可以绑定多个端口i

JAVAEE初阶 网络编程(二),java-ee,网络,java

JAVAEE初阶 网络编程(二),java-ee,网络,java

如果在网络中通常表示,socket对象创建失败,因为它的端口号可能会被占据。

JAVAEE初阶 网络编程(二),java-ee,网络,java

通过这个字节数组保存收到消息的正文,也就是UDP数据报的载荷部分,并不一定要设置4096,可以灵活设置。

JAVAEE初阶 网络编程(二),java-ee,网络,java

这的receive方法需要一个输出型参数,那么我们就需要创建一个DatagramPacket对象,receive就会从网卡中读取到一个UDP数据报,存储在requestPacket当中,其中的载荷部分被放到字节数组中,报头部分也会被requestPacket的其他属性所保存。
但是执行到receive的时候,如果还没有客户端发来请求怎么办呢?
receive就内置了一个阻塞等待功能。

JAVAEE初阶 网络编程(二),java-ee,网络,java

String里的第一个参数,getData表示当前的字节数组。
第二个参数表示的是该字节数组的有效长度,而非实际总长度。

JAVAEE初阶 网络编程(二),java-ee,网络,java

socket对象的send方法也需要一个输出型参数,所以我们要创建一个对象。

JAVAEE初阶 网络编程(二),java-ee,网络,java

第一个参数是把String中的字节数组拿了过来
第二个参数是字节数组的有效长度,
第三个参数是将服务器的端口号和IP地址以及包含了客户端的IP地址和端口号。是把请求中的IP和端口号转化为了目的IP和目的端口,便于返回客户端。

JAVAEE初阶 网络编程(二),java-ee,网络,java

此处参数中的端口号并不一定是9090,而是 1024 <X<65535中的任何数。

1.2 服务器端的代码

JAVAEE初阶 网络编程(二),java-ee,网络,java

二. 客户端

2.1 客户端的代码分析

JAVAEE初阶 网络编程(二),java-ee,网络,java

客户端不需要手动指定端口,因为系统会自动分配一个空闲的端口号。
服务器是程序员手动指定端口,是可控的。

JAVAEE初阶 网络编程(二),java-ee,网络,java

2.2 执行顺序

JAVAEE初阶 网络编程(二),java-ee,网络,javaJAVAEE初阶 网络编程(二),java-ee,网络,java

2.3 客户端的代码

JAVAEE初阶 网络编程(二),java-ee,网络,java
JAVAEE初阶 网络编程(二),java-ee,网络,javaJAVAEE初阶 网络编程(二),java-ee,网络,java文章来源地址https://www.toymoban.com/news/detail-812510.html

到了这里,关于JAVAEE初阶 网络编程(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaEE】_网络编程基础

    目录 1. 网络编程基础 1.1 网络编程定义 1.2 网络编程中的基本概念 1.2.1 API 1.2.2.发送端和接收端 1.2.3 请求和响应 1.2.4 客户端和服务端 2. Socket 套接字 2.1 概念 2.2 分类 3. UDP数据报套接字编程 3.1   DatagramSocket API 3.1.1 含义 3.1.2 构造方法 3.1.3 常用方法 3.2   DatagramPacket API 3.2.

    2024年01月24日
    浏览(28)
  • [JAVAee]网络编程-套接字Socket

    目录 基本概念 发送端与接收端 请求与响应 ​编辑客户端与服务器 Socket套接字  分类 数据报套接字 流套接字传输模型   UDP数据报套接字编程 DatagramSocket API DatagramPacket API InetSocketAddress API 示例一: 示例二: TCP流数据报套接字编程 ServerSocket API Socket API 示例一:   网络编程指的

    2024年02月13日
    浏览(34)
  • 【Java EE初阶十三】网络初识

            网络发展的几个主要时期:         单机时代-局域网时代-广域网时代-移动互联网时代         随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成 业务,就有了网络互连。         网络互连: 将多台计

    2024年02月20日
    浏览(31)
  • 【Java EE初阶十六】网络原理(一)

            在网络原理中主要学习TCP/IP四层模型中的重点网络协议         应用层是和程序员接触最密切的;         应用程序:在应用层这里,很多时候都是程序员自定义应用层协议(步骤:1、根据需求,明确要传输的信息,2、约定好信息按照什么样的格式来组织)的

    2024年02月20日
    浏览(30)
  • 【Java EE初阶十七】网络原理(二)

    2.2.2 关于可靠传输 4.滑动窗口         前面的三个机制,都是在保证 tcp 的可靠性;         TCP 的可靠传输,是会影响传输的效率的.(多出了一些等待 ack 的时间,单位时间内能传输的数据就少了);         滑动窗口,就让可靠传输对性能的影响,更少一些.TCP 只要引入了可

    2024年02月20日
    浏览(33)
  • JavaEE-网络编程套接字(UDP/TCP)

    下面写一个简单的UDP客户端服务器流程 思路: 对于服务器端:读取请求,并解析– 根据解析出的请求,做出响应(这里是一个回显,)–把响应写回客户端 对于客户端:从控制台读取用户输入的内容–从控制台读取用户输入的内容–从控制台读取用户输入的内容–将其显示在

    2024年02月07日
    浏览(38)
  • 【JavaEE】网络编程之TCP套接字、UDP套接字

    目录 1.网络编程的基本概念 1.1为什么需要网络编程  1.2服务端与用户端 1.3网络编程五元组  1.4套接字的概念 2.UDP套接字编程 2.1UDP套接字的特点  2.2UDP套接字API 2.2.1DatagramSocket类 2.2.2DatagramPacket类  2.2.3基于UDP的回显程序 2.2.4基于UDP的单词查询  3.TCP套接字编程 3.1TCP套接字的特

    2023年04月20日
    浏览(49)
  • JavaEE & UDP简易翻译服务器 & 网络编程示例2 & TCP回显服务器,回显客户端

    禁止白嫖 T T 点点赞呗 这个翻译器主要是在上一章的回显服务器和回显客户端上进行修改 修改了计算响应的过程, 即process方法 1.1 重写方法 重写方法是Java中的一种重要手段 指在一个类的子类里,对父类的一个方法进行重新定义! 而父类的权限级别要大于等于子类~ 【除了

    2023年04月16日
    浏览(41)
  • JavaEE & UDP简易翻译服务器 & 网络编程示例2 & CTP回显服务器,回显客户端

    禁止白嫖 T T 点点赞呗 这个翻译器主要是在上一章的回显服务器和回显客户端上进行修改 修改了计算响应的过程, 即process方法 1.1 重写方法 重写方法是Java中的一种重要手段 指在一个类的子类里,对父类的一个方法进行重新定义! 而父类的权限级别要大于等于子类~ 【除了

    2023年04月16日
    浏览(45)
  • Java网络编程 - 网络编程介绍 - 网络通信三要素

    什么是网络编程 ? 网络编程可以让程序与网络上的其他设备中的程序进行数据交互。 网络编程基本模式 : 常见的通信模式有如下2种形式:Client-Server( CS: 客户端与服务器模式 ) 、 Browser/Server( BS: 浏览器与服务器模式 ) Client-Server(CS)模式 Browser/Server(BS)模式 实现网络编程关键的三

    2024年02月02日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包