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

多节阶梯阻抗变换器工程设计的公式推导

  多节阶梯阻抗变换器工程设计的公式推导,仔细看此文,有点烧脑,所以碎片十分钟,收获一丢丢。   现在就来设计一个超宽带多节阶梯阻抗变换器,要求带内纹波符合切比雪夫分布。   其实,此文已经是省去了大量中间公式推导,只剩下精炼内容了。   阶梯阻抗变换器指标需求   假设现在有一项目需求分析结果是:做一个微带线超宽带阶梯阻抗变换器,指标如下:   从50欧变换到100欧;   回波损耗22dB;   功率容量:2W;   频率范围2~18GHz;   插损能做多少就多少,用30mil板厚.

wusuowei1010的博客 7806

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

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

zynq7020的arm A9核降频实录

zynq arm9 cortex a9 降频

qq_40011737的博客 8764

STM32驱动AD2S1210实现旋变解码与角度读取

旋转变压器作为一种耐高温、抗振动的角度传感器,在工业伺服、机器人关节和电动汽车电驱等场景中占据重要地位。其输出信号需要经过专用转换芯片处理才能被MCU高效使用。AD2S1210是一款典型的旋变数字转换器(RDC),内部采用Type II型跟踪环,将模拟SIN/COS信号实时解算为数字角度与速度,降低了处理器负担并提升抗干扰能力。本文基于STM32平台,详细介绍了AD2S1210的硬件接线、SPI通信配置、寄存器初始化流程,以及读取位置数据时的SAMPLE脉冲时序等关键实现。同时总结了常见故障如全FF、角度跳

weixin_34194829的博客 194

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

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

Linux内存压力测试工具【memtester】详且精

对Linux下的压力测试工具memtester有一个比较人性化的概述,以及避坑心得。

weixin_44118923的博客 1万+

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

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

【完美解决】Anaconda3安装后缺失大量文件,没有scripts、Library等目录

Anaconda3是官网下载的:https://www.anaconda.com/distribution/#download-section 我选择的是64位python 3.7的版本。 问题出现及现象: 我自己选择了一个D盘的目录D:\Tools\Anaconda3进行安装,装完后发现conda list命令无法执行,首先都到的是配置环境变量,然后发现安装目录下缺失大量文件(如下图)...

android之行 3万+

扣子Coze触发器使用指南:实现工作流定时执行的完整教程

Coze平台触发器功能详解:定时触发器配置指南 摘要:Coze平台的触发器是实现自动化任务的核心组件,其中定时触发器能够按预设时间自动执行工作流。本指南介绍了定时触发器的配置方法,包括每日、每周、每月及Cron表达式等多种时间设置方式,以及如何关联工作流执行具体任务。文章还提供了健身提醒等实用案例,并涵盖了触发器调试、发布及常见问题解决方案。通过合理配置定时触发器,用户可以轻松实现各类自动化任务,如定时发送消息、数据采集等,大幅提升工作效率。

互联网架构师笔记 1922

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

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

Altium Designer应用技巧1: 功能模块的复用方法

Altium Designer应用技巧1: 功能模块的复用方法      我们在使用Altium Designer进行电路图设计时,常会遇到功能模块的复用问题,例如我们经常需要将12V以DC-DC的方式转换成5V,这在很多线路板上都会应用到。现在我们普通的做法是,每个板子都重新绘制一遍,像这样DC-DC的电路,很浪费时间。那么如何采用提高工作效率呢?我们可以采取Altium Desi

snmplink的博客 1万+

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

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

机器学习(十九):梯度提升回归(GBR)

机器学习中的梯度提升回归算法原理与案例实战。

全栈川川 5156

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

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

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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

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

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

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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、付费专栏及课程。

余额充值