java---网络初始

java写局域网通讯工具(只需jdk1.7即可运行!) java写局域网通讯工具(只需jdk1.7即可运行!),主要使用socket编程编写,完美实现局域网内信息通讯,可限制聊天人数和端口号设置! 立即下载

一.局域网和广域网

随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。
网络互连:将多台计算机连接在一起,完成数据共享。数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。根据网络互连的规模不同,可以划分为局域网和广域网。
局域网,即 Local Area Network,简称LAN。Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。
在这里插入图片描述
局域网在一定的区域内两两互相建立链接,但这种方式的缺点也很明显,随着电脑的增多,产生的链接线路成倍增长。
广域网通过路由器和交换机解决了局域网的缺点,路由器有4个lan口和一个wan口,让lan口链接电脑,wan口链接上一层的路由器。
在这里插入图片描述
虽然路由器只有4个lan口,实际上组建局域网的时候可以有更多设备,让lan口链接交换机。交换交换机的口不分lan口和wan口,所有的口都是等价的。
在这里插入图片描述
企业级网络,往往需要一个企业级路由器+若干个交换机,这样的效果等于延伸出许多网线。
在这里插入图片描述

二.网络通信基础

IP地址:IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。
端口号:在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程。
协议:协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。网络通讯协议,虽然复杂但本质上也是人为出来的一些规定、为什么要做这么一份规定呢?因为电脑的种类很多,设备的产商也有很多,必须要有一份统一的协议标准。

三.协议分层

网络通信是一个复杂的过程,会设计到一系列繁琐的工作,靠一个协议解决所有的问题会导致这个协议非常复杂庞大,因此就对协议进行了拆分,这么一拆拆出的类型有点多,于是就对协议进行了分层,上层协议调用下层协议,下层协议协调上层协议。这样给协议搞了明确的层级关系,避免阶层级的跨越,降低耦合,提高整个系统的可行性。协议主要分为OSI七层模型(只在教科书里面),TCP/IP五层网络模型(真实的存在)。

一. TCP/IP协议

在这里插入图片描述

物理层:描述网络通信基础设施需要遵守的规范
数据链路层:相邻的节点之间数据如何传输
传输层:只关心传输的起点和终点,不关注中间的过程
应用层:拿到这个数据具体要干嘛
网络层:从起点到终点有多少种不同的走法

在这里插入图片描述

二. 数据的发送

1.应用层
当数据发送时首先会经过应用层,比如在qq中发送信息时,很多程序里面都会有应用层协议,qq使用的程序假设是如图(发送hello):
在这里插入图片描述
应用层会构成应用层数据报,然后调用传输层提供的接口,把上述数据交给传输层去处理。
2.传输层
传输的协议有很多种,TCP和UDP,假设传输的是UDP协议。传输层就会把应用层传来的数据交给UDP,构成UDP数据报。
在这里插入图片描述
UDP报头最主要的是源端口和目的端口。UDP不关心载核里面是什么内容,只是把应用层数据当一个字符串,构建一个UDP报头。此时会传给网络层。
3.网络层
网络层最主要的是IP协议,IP协议会根据自己的格式来构建出IP数据报。
在这里插入图片描述
接下来会传输给数据链路层
4.数据链路层
数据链路层最主要的是以太网,以太网会针对IP数据报进行进一步的封装,在添加数据头和数据尾。
在这里插入图片描述
5.物理层
硬件设备就需要对数据链路层传来的数据进行转换,本质上会转变为二进制的数据(01构成),可能为光信号/电信号/电磁波
到这里就完成了一次发送

三.数据的接收

1.物理层
物理层收到光信号、电信号。电磁信号需要把收到的信号进行解调(数字信号处理课程和通信原理课程学过),得到一串0101二进制数据序列。
在这里插入图片描述
这个数据就要交给上一层数据链路层
2.数据链路层
数据链路层的以太网协议就会针对这个数据进行解析,此时把载核给上层IP协议
在这里插入图片描述
在这里插入图片描述
3.网络层
IP协议针对IP报头进行解析,载核交给传输层
4.传输层
根据UDP数据报进行解析,去掉报头,取出载核交给应用层
5.应用层
UDP报头中有一个字段目的端口,根据目的端口找到关联的应用程序,交给这个程序即可.
在这里插入图片描述
qq遇到这个数据就会按照qq协议进行解析,把hello字符显示到界面上,至此接收完成。
从应用层到物理层叫封装,从物理层到应用层叫分用。

java局域网内互传文件 用java写了一个小的局域网内可以互传文件,用到网络及线程,1.0版本,有兴趣的可以互相学习下 立即下载

相关推荐

Java版局域网QQ

基于SWT开发的Java版局域网QQ,只有简单的界面和聊天功能。没时间做了,有兴趣的可以拿去试试。但保留著作权,未经许可不得用在商业用途。 源码已经提供了。里面用到了一些插件,比如jigloo_464,支持类似.NET的拖曳控件操作。

Java 编程之局域网聊天室

实现同一局域网内,用户可以通过端口连接服务器,进行发送聊天,发送文件等。登录校验、显示在线用户、私聊、群聊、发文件、服务器推送公告。

m0_64977770的博客 536

Java局域网通信

一个java的局域网通信软件的源码 飞鸽传书的源代码适合初学者学习

基于Java的ARP协议获取局域网内部活动主机的物理地址

首先寻找并打开适合的网络适配器,然后根据输入的局域网 IP 地址构造 ARP 的数据包,然后通过 Java 对网卡数据捕获需要用到 jpcap,jpcap 调用 wincap 实现数据包的发送,并监听返回的数据包,分析局域网内返回的活动主机的 IP 地址和物理地址并打印。程序的整体运行还是没有太大的问题,但输入局域网号的正误的正则表达式还没有完善,需要做更多的判定,并且由于对 Java 的线程相关的知识还不是理解得很透彻,总体来说程序运行的响应速度比较慢,等待的时间过长,需要在后续时间进行优化。

毕业作品网站 3064

Vivado Schematic视图实战:从RTL分析到布局布线,如何用它快速定位设计问题(附2019.1版操作)

本文深入解析Vivado Schematic视图在FPGA设计中的关键作用,从RTL分析到布局布线全流程,帮助工程师快速定位设计问题。通过三重视图对比、高效调试四步法和高级技巧,提升问题排查效率,缩短调试时间。文章结合2019.1版操作指南和实战案例,展示如何利用Schematic视图解决典型设计问题。

weixin_30591551的博客 488

探索Vortex开源GPGPU:RISC-V SIMT架构(4-1),Execute SFU(1)

本文详细分析了Vortex RISC-V内核6级流水线中Execute阶段的SFU(特殊功能单元)模块。重点介绍了SFU的数据流结构,包含dispatch_unit、pe_switch、csr_unit、wctl_unit和gather_unit五个子模块。文章深入解析了warp控制指令wspawn和tmc的实现机制:wspawn用于激活指定数量的warp并设置新PC值,tmc则用于控制线程掩码和warp状态。通过C代码和汇编指令的对照分析,阐明了这些指令在并行计算中的关键作用,包括线程激活、状态切换和执行

weixin_55313207的博客 1363

Java网络编程( 一 )数据如何在网络上传输

发送端:数据的发送方进程,称为发送端。发送端主机即网络通信中的源主机 接收端:数据的接收方进程,称为接收端。接收端主机即网络通信中的目的主机 收发端:发送端和接收端两端,也简称为收发端

Cheer_RIO的博客 962

5分钟搞定阿里云千问大模型API申请:手把手教你获取API Key

本文提供了一份高效的阿里云通义千问大模型API Key获取实战指南。通过清晰的步骤,帮助开发者在五分钟内完成从账号准备、精准导航控制台到创建并验证API Key的全过程,并强调了密钥安全管理和基础调用测试的重要性,助力快速集成AI能力。

ol789012345的博客 1338

Java基于socket编程实现局域网内简单通信

实现 服务端到客户端 一次简单的单向通信。

S4n_v1的博客 1870

二叉树的操作之统计二叉树中节点的个数

一,问题描述 给定一颗二叉树,已知其根结点。 ①计算二叉树所有结点的个数 ②计算二叉树中叶子结点的个数 ③计算二叉树中满节点(度为2)的个数   二,算法分析 找出各个问题的基准条件,然后采用递归的方式实现。 ①计算二叉树所有结点的个数 1)当树为空时,结点个数为0,否则为根节点个数 加上 根的左子树中节点个数 再加上 根的右子树中节点的个数 借助遍历二叉树的思路,每访问一个结...

weixin_34200628的博客 4567

C51单片机驱动ILI9341彩屏实战:从Proteus仿真到绘制自定义图案(附完整代码)

本文详细介绍了使用C51单片机驱动ILI9341彩屏的完整实战流程。内容涵盖硬件连接、8080并行接口时序模拟、寄存器初始化、屏幕方向设置以及基本图形绘制原理,并重点讲解了如何在Proteus仿真环境中搭建电路、调试代码,最终实现自定义图案的显示。文章提供了完整的代码示例,为嵌入式开发学习者和复古硬件爱好者提供了一套可行的解决方案。

rnn9storyteller的博客 510

如何将内网ip映射到外网

这个百度经验上就有,不过对于着急使用的我来说,差了最后一步。所以还是一起记上吧。 第一步 首先登陆你的路由器,就改密码那个。一般就用浏览器直接打开192.168.1.1就可以,账号密码有可能是 admin admin吧,默认可能是这个。不对的看下面的方法。 windows + R 输入 cmd 回车 输入 ipconfig 找到 “默认网关”,后面就是路由器的地址了。 第二步 因为每个路由器品牌都不一样,所以只能自己找了。找到带有“虚拟”或者“转发规则”字样的就对了。 第三步 填上自己的ip,端口.

小诺的博客 2万+

【速通版!语义通信基础与前沿学习计划】

🧠语义通信基础与前沿学习计划

dally2的博客 1412

JAVA网络初始及网络编程

JAVA网络初始及网络编程

m0_69468924的博客 1006

别再为数据发愁:5分钟理解事件相机原理,并自己动手生成事件图像

本文深入浅出地解析了事件相机的工作原理,并提供了从静态图像生成事件数据的实用方法。通过Python代码示例,读者可以快速掌握如何模拟事件相机的输出,应用于机器人导航、自动驾驶等领域,解决数据获取难题。

weixin_31458015的博客 298

数据结构(超详细讲解!!)第十七节 队列应用(杨辉三角)

杨辉三角

2201_76115387的博客 1375

【Java ee初阶】初始网络

IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:01100100.00000100.00000101.00000110。通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:100.4.5.6。在网络通信中,IP地址用于标识主机网络

purrrew的博客 1591

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

(JAVA)-(网络编程)-初始网络编程

就像我们使用的淘宝网页版,4399小游戏,都使用的BS架构。用户需要下载客户端,游戏需要的音频,画面文件都在安装包中,用户下载安装后就已经在用户本地了,当用户使用时就不需要把 文件从服务器中传输给客户端,只需要告诉该显示什么东西就可以了。有一个特殊ip:127.0.0.1,也可以是localhost,是回送ip地址,也称本机ip,永远只会寻找当前所在本机,朝这个ip发送消息,在经过网卡时候就会传送回来。画面烂,音质差,因为浏览器中要显示的所有图片,音频资源在本地是没有的,都需要从服务器中用网络传输过来。

fdvvg的博客 989

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

从零开始学Java网络编程--初始网络(持续更新)

(1)将一个完整的协议分解为一个个功能单一的小协议,因为一个完整的协议再一次网络通信中只有几个协议需要,为了使协议变得简单我们将大协议拆为小协议,只使用需要的即可。(4)网络层调用数据链路层的接口,把数据给了数据链路层,数据链路层拿到之后,构造“数据链路层数据包”(数据链路层最主要的协议‘以太网’)其形式为以太网的报头+载荷+解耦,分层之后,灵活的替换其中的某一层,对于整体的工作过程影响很小。(3)传输层调用网络层的接口,把数据给了网络层,网络层拿到之后,构造“网络层数据包”(网络层最主要的协议IP协议)

2402_88599543的博客 401

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JAVA网络编程6-初始Tomcat(未完待续)

JAVA网络编程6-初始Tomcat(未完待续)

wzwnbnb的博客 105

Java 网络初始-OSI七层网络模型 || 网络通信 || 五元组 || 协议分层

这里是Themberfue这里是Themberfue网络通信在早期的计算机中,每个计算机都是相互独立的,若想协同进行某一项目的开发时,必须等待另一台计算机的停止,本台计算机才能继续开发,这样的开发显然是非常缓慢的。随着时代的发展,越来越需要多台计算机之间可以互相通信,共享数据或者软件,即以多个计算机协同工作来完成业务,就有了网络互连。数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,因此也称为。根据网络连接的规模不同,可以将其分为和局域网。

Themberfue的博客 1642

演示:思科IPS传感器的命令行初始配置(支持图型化管理)

思科的入侵防御系统的每项功能都可以通过CLI(命令提示行)方式进行配置,这和路由器一样,但是通常我们都不那样做,因为思科为配置入侵检测系统提供了图型化界面,该界面叫IDM,所以,在一般情况下我们都会使用思科的IDM去配置入侵检测系统,本课程也基于图型界面来描述它的配置,但是在新设备刚上架时,默认情况下,它是不支持图型化配置,所以我们首先会对思科4200系...

weixin_33962621的博客 479

Java网络拓扑图与Vue拓扑图管理组件

Java网络拓扑图与Vue拓扑图管理组件 去发现同类优质开源项目:https://gitcode.com/ 简介 本仓库提供了Java网络拓扑图和Vue拓扑图管理组件的资源文件下载。这些资源文件包含了一个强大的拓扑图编辑和管理功能,可以帮助开发者轻松地创建和管理复杂的网络拓扑结构。 特性 自定义控件:提供控件自定义功能,可根据需求自定义拓扑图中的控件。 控件属性显示:支持显示控件的属性信息,便于...

gitblog_06712的博客 355

java 爬虫写文件_Java怎么写网络爬虫?分分钟带你爬取,源码

该楼层疑似违规已被系统折叠隐藏此楼查看此楼网络爬虫网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。聚焦爬虫工作原理以及关键技术概述网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中...

weixin_34662807的博客 118
上一篇: java多线程面试题(三)-----HashTable,HashMap,ConcurrentHashMap
下一篇: java----网络编程(一)
一起加油,冲!
博客等级 码龄5年 976粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值