java基础巩固训练营【第一轮】(九) 用java通信

2024Java零基础到精通自学路线 Java零基础到精通自学路线 阅读详情

本章的测试代码存放在 com.j2ee110.csdn.leader.sockets包路径下面

大家的练习代码存放在 com.j2ee110.csdn.student.姓名标识.sockets包路径下面 

 

 

首先什么是通信,我觉得这个问题可以写一本书,我就不这里胡说了,但是我们首先要明白的就是什么是计算机通信。计算机通信就是两台计算机之间互相交换数据。

 

我知道java是一门计算机语言,是用来编写程序的,当然java也可以用来编写通信程序。本章我们就专门来讨java和通信,但是java和通信这个问题太大,大已经超出了笔者的能力范围,因此本章中我们就讨论一个问题,java如何编写通信程序。

 

这这之前我们需要根据大家指出通常的一般我们常见的通信方式是TCP 和 UDP,至于这两者之间的区别那只能麻烦上网查查了,我这里只想跟大家提示一下,另外我们在本章所讨论的通信方式一律采用tcp的通信方式

 

 

 

socket端口的基本概念

关于socket端口的概念我真的没有没有这个办法详细的做出说明,我的一项的原则不会的就不说,但是我可以给大家一个比较方便的记忆方法,IP地址是街道号,而socket端口是门牌号,去多个门牌号可以中同一条街道。

 

 

java服务端程序

 

既然将不清楚那我就开始编写代码,先把程序跑起来然后在去研究其机理,首先我们准备编写可以服务端的程序。由于JDK提供了强大的通信工具类,使得我们编写类似的程序不是很复杂。具体的我们还是看代码,

 

com.j2ee110.csdn.leader.sockets.SocketServerMain

 

 

java客户端程序

 

客户端程序主要负责向服务器发起访问请求,详细参考以下代码

 

com.j2ee110.csdn.leader.sockets.SocketClientMain

 

 

 

上述两个代码能基本完成一个简单的通信,这是最简单和基本的通信方式,我想很多人可能都会,是的,想这样的代码google或者百度有很多,但是我建议按照循序自行把代码编写一遍,仔细分析一下里面的涉及到的每个类。

 

关于通信程序,其实这只是很简单的一个例子,其实通信程序对于任何语言都是一个比较复杂的部分,我们在后面几轮中会跟大家进行一定的深入讨论,但是至少目前我还没有太好的方式,大家可以把需要的告诉我。 

 

 

课后练习

 

本章的课后练习比较简单,分为两步:

第一步:我建议大家自己编写一个服务器类和一个客户端类,然后使他们能够通信,可以模仿我们提供的例子

第二步:在我们的例子中服务器一旦接受到请求在处理完成后变自动退出,大家把程序修改一下,服务端程序只有在接收到“end”字符串后才能退出。

 

很简单,可能有人在第一步就已经完成了,但是我建议如果基础比较好的朋友,耐心一点,你可以直接参加第二或者第三轮,毕竟还有一些人基础不是很好的。

 

暑期java基础巩固训练营开始
java基础巩固训练营 简介
java基础巩固训练营【第一轮】(一)项目环境和规范
java基础巩固训练营【第一轮】(二)JAVA基础
java基础巩固训练营【第一轮】(三) 编写、编译、运行 
java基础巩固训练营【第一轮】(四) 利器(IDE工具)
java基础巩固训练营【第一轮】(五) 基本数据类型
java基础巩固训练营【第一轮】(六) 面向对象的JAVA
java基础巩固训练营【第一轮】(七) 数据结构中的java
java基础巩固训练营【第一轮】(八) 文件读写
java基础巩固训练营【第一轮】(九) 用java通信
java基础巩固训练营【第一轮】(十) 多线程
java基础巩固训练营【第一轮】(十一) 直面错误--java异常
java基础巩固训练营【第一轮】(十二) 我们一起来找茬
ava基础巩固训练营【第一轮】(十三) java桌面应用
java基础巩固训练营【第一轮】(十四) 大家一起做项目

 

 如果您对我的文章感兴趣的话,请点击这里加我为好友,让我们一起进步
 

http://student.youkuaiyun.com/invite.php?u=106708&c=2383a3846076c876

最新21天互联网Java进阶面试训练营(分布式篇) ├─001、互联网大厂面试要求:技术广度、技术深度、系统设计以及项目经验 │ 001、互联网大厂面试要求:技术广度、技术深度、系统设计以及项目经验 (上).mp4 │ 002、互联网大厂面试要求:技术广度、技术深度、系统设计以及项目经验 (中).mp4 │ 003、互联网大厂面试要求:技术广度、技术深度、系统设计以及项目经验 (下).mp4 │ ├─002、Java工程师面试突击第一季总结:你离一... 阅读详情

相关推荐

Android开发训练营项目实战:Java编程基础与应用构建

随着智能手机的普及和移动互联网的发展,Android作为全球最大的移动操作系统,为开发者提供了广阔的开发平台和职业机会。本章将为读者介绍Android开发的基本概念、历史背景以及它在移动开发领域中的地位。首先,我们将回顾Android的发展历程,了解其从诞生到现在成为主流操作系统的演变。其次,我们将探讨Android系统的架构和主要组件,包括操作系统、中间件、应用框架和关键应用。最后,我们将概述Android开发的现状和趋势,为读者进入Android开发的世界提供一个全面的视角。

weixin_36303807的博客 1065

java基础巩固训练营【第一轮】(九) 用java通信补充

当人走的太快的时候就要停下来,让灵魂能够跟上。 1056

保姆级教程:用ROS2 Humble和激光雷达,5分钟搞定机器人避障(附Python代码)

本文提供了一份详细的ROS2 Humble激光雷达避障实战指南,帮助开发者快速实现机器人避障功能。通过环境配置、硬件连接和Python代码实现,5分钟内即可让机器人自主避开障碍物。文章还涵盖了参数调优、常见问题排查及进阶优化技巧,适合机器人开发初学者和进阶用户。

weixin_42528902的博客 342

java基础巩固训练营【第一轮】(十三) java桌面应用

当人走的太快的时候就要停下来,让灵魂能够跟上。 2361

别再只盯着GPS了!手把手教你用Python仿真UWB定位,30厘米精度是怎么算出来的?

本文详细解析了UWB(超宽带)室内定位技术的原理与实现,通过Python代码演示如何从三边测量法到实现30厘米精度的定位。文章涵盖了UWB的核心数学模型、Python仿真环境搭建、误差分析及优化策略,为开发者提供了实用的技术指南和应用场景。

weixin_26873711的博客 252

芯片设计中的复位艺术——从异步复位同步释放到复位树构建

本文深入探讨了芯片设计中复位策略的核心技术与工程实践。重点解析了异步复位同步释放这一黄金方案的原理与优势,它通过复位同步器解决了异步复位释放时的时序风险。文章进一步阐述了如何构建稳健的复位树以应对大规模SoC设计,并分析了多时钟域与低功耗场景下的复位设计挑战,为提升芯片可靠性提供了系统性的方法论。

neovim7hacker的博客 486

java基础巩固训练营【第一轮】(一)项目环境和规范

当人走的太快的时候就要停下来,让灵魂能够跟上。 3480

树莓派4B+WebRTC实现远程监控:5步搞定公网视频流传输(含Node.js配置)

本文详细介绍了如何利用树莓派4B和WebRTC技术,通过5个关键步骤搭建低延迟、高隐私的远程监控系统。重点阐述了WebRTC点对点传输相较于传统方案的优势,并提供了包含Node.js信令服务器配置、树莓派视频流捕获与推送、以及移动端自适应观看页面的完整实现方案,帮助用户实现公网视频流传输。

websocket5live的博客 292

java基础巩固训练营【第一轮】(十四) 大家一起做项目

当人走的太快的时候就要停下来,让灵魂能够跟上。 3244

FPGA与GPU异构计算:重塑嵌入式AI的算力边界与场景定义

本文深入探讨了FPGA与GPU异构计算如何突破嵌入式AI的算力瓶颈。通过分析工业视觉、智能交通及航天等场景,阐述了FPGA负责高速数据采集与预处理,GPU专注复杂AI推理的协同模式,有效解决了传统单一架构在算力、功耗、接口和实时性上的挑战,为嵌入式AI应用提供了高效能解决方案。

spice的博客 486

使用CAPL实现DoIP刷写

本文介绍了使用CAPL实现基于DoIP协议的ECU刷写方法,包含完整源码。

qq_56033302的博客 2760

java基础巩固训练营【第一轮】(十二) 我们一起来找茬

当人走的太快的时候就要停下来,让灵魂能够跟上。 1948

基于RK3562J开发板的MCP2518FD CAN-FD控制器驱动适配与测试指南

本文详细介绍了在RK3562J开发板上适配MCP2518FD CAN-FD控制器驱动的完整流程。内容涵盖内核驱动配置、设备树修改、编译烧录以及实际通信测试,重点分享了调试方法,旨在帮助开发者快速为嵌入式系统扩展高速CAN-FD通信能力,适用于汽车电子、工业控制等场景。

jenkins8butler的博客 495

java基础巩固训练营【第一轮】(十) 多线程

当人走的太快的时候就要停下来,让灵魂能够跟上。 1728

YOLOv8改进:在C2F模块中引入RepGhost Bottleneck模块

C2F类是YOLOv8中的C2F模块的实现,它包含一个RepGhostBottleneck模块、一个卷积层和一个批归一化层。通过在C2F模块中引入RepGhost Bottleneck模块,我们可以在保持计算效率的同时提升模型的表达能力。这是因为RepGhost Bottleneck模块通过引入重复的卷积核来扩展模型的感受野,从而增加了模型对不同尺度目标的感知能力。RepGhost Bottleneck是一种用于卷积神经网络的改进模块,它可以在保持计算效率的同时提升模型的表达能力。希望以上内容对你有帮助!

IlgCrystal的博客 1306

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

暑期java基础巩固训练营正式发布

当人走的太快的时候就要停下来,让灵魂能够跟上。 2887

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java基础巩固训练营【第一轮】(十一) 直面错误--java异常

当人走的太快的时候就要停下来,让灵魂能够跟上。 1594

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java基础巩固训练营【第一轮】 大家一起做项目 补

当人走的太快的时候就要停下来,让灵魂能够跟上。 1144

减脂训练营管理系统

Java简介Java是一种面向对象的静态式编程语言。Java编程语言具有多线程和对象定向的特点。其特点是根据方案的属性将方案分为几个不同的模块,这些模块是封闭的和多样化的,在申请过程中具有很强的独立性。Java语言在计算机软件开发过程中的运用可以达到交互操作的目的,通过各种形式的交换,可以有效地处理所需的数据,从而确保计算机软件开发的可控性和可见性。开发java语言时,保留了网络接口,Java保留的缺省网络接口可以与web应用程序编程所依赖的类别库相匹配。

全网粉丝10W+、全栈领域优质创作者、掘金、阿里云等社区博客专家、专注于全栈领域和毕业项目实战 1095

SpringBoot选题推荐-基于Java+SpringBoot+Vue的篮球足球训练营管理系统 |Python Django篮球俱乐部小程序 篮球羽毛球爱好者网络平台 篮球馆预约系统

本文介绍了一个基于Java+SpringBoot+Vue的篮球足球训练营管理系统。该系统针对青少年体育训练营管理中的信息分散、报名混乱等问题,设计了用户、教练和管理员三个角色功能模块。用户端支持训练营浏览、活动报名等操作;教练端实现训练计划管理、学员评估等功能;管理员端提供数据可视化分析。系统采用SpringBoot后端、Vue前端和MySQL数据库,通过Echarts实现数据可视化,提升了训练营的管理效率和服务质量。演示视频和图片展示了系统各功能模块的实际运行效果。

qq_1445749146的博客 946

QCon上海2014大会技术训练营报名进行中

QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、上海、旧金山召开。自2007年3月份首次举办以来,已经有包括传统制造、金融、电信、互联网、航空航天等领域的数万名架构师、项目经理、团队领导者和高级开发人员参加过QCon大会。\\QCon上海2014大会目前紧张筹备中,技术训练营项目已经正式开始报名,8门课程涵盖最新热点,读者可以尽快报名。\\Swift快速进阶——...

cpongo5 150

java大数据开发训练营--Java Web 后端技术基础(上)

题记: 文章内容输出来源:拉勾教育大数据开发高薪训练营 本篇文章是java学习课程中的一部分笔记。 本博文主要是记录一些基础的知识点,通过实操更容易理解 这章主要讲的是JAVA Web后端基础 一 Web知识概述 1 软件架构 网络中有很多的计算机,它们直接的信息交流,我们称之为:交互 在互联网交互的过程的有两个非常典型的交互方式——B/S 交互模型(架构)和 C/S 交互模型 (架构) C/S架构 Client/Server 客户端/服务器 访问服务器资源必须安装客户端软件

Laozizuiku的博客 820

今年的行情,还得是Java!

今年的金九银十开始了,各路公司的招聘或将迎来一段高峰期。今年整体行情差,所以大家需要把握好现在,有了机会就去多投多试!目前看来,在整个技术招聘市场,Java还算是宝刀未老,在新兴语言面前,风头依然强劲!上下滑动查看对于这样的情况各位小Java想必是喜忧参半,企业需求大也就意味着供给也不会少,但Java竞争也是高难级别的。要想拿下心仪的offer,势必做好充分准备!这里就给大家免费赠送一份《2024...

芋艿V 494

基于SpringBoot的足球训练营系统毕设源码+文档+讲解视频

基于 SpringBoot 的足球训练营系统,是针对足球培训机构的教学管理、学员服务及运营需求开发的数字化平台,旨在解决传统运营中报名流程繁琐、课程安排混乱、学员跟踪不足等问题。系统采用 SpringBoot 2.x 构建后端架构,结合 MyBatis-Plus 简化数据库操作,MySQL 存储学员信息、课程数据、教练资源等核心内容,Spring Security 实现管理员、教练、学员(家长)多角色权限控制,保障数据安全。前端采用 Vue 3+Element Plus 开发响应式界面,适配 PC 端与移动

全网粉丝10W+、全栈领域优质创作者、掘金、阿里云等社区博客专家、专注于全栈领域和毕业项目实战 1279
上一篇: java基础巩固训练营【第一轮】(八) 文件读写 补充
下一篇: java基础巩固训练营【第一轮】(九) 用java通信补充
模事在人
博客等级 码龄17年 1546粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值