2023/4/16总结

news2024/11/18 3:41:32

深刻的了解了网络编程的一些知识点

socket:套接字

ServerSocket 用来声明服务器

Socket用来声明客户端,其实也不然,在serversocket的accept的方法中,返回的是一个socket变量。我觉得更像一个接口,网络接口。

InternetAddress可以用来获得IP地址,用它的getAddress方法,getbyName方法可以指定ip地址。

文件流

文件流比较多,字节流,字符流,通常网络编程使用较为多的是InputStream,OutputStream,对象流:ObjectOutputStream和ObjectInputStream,缓冲流:BufferOutputSream和BufferInputStream。

有一个专门为udp的包来发送,但是udp是不可靠连接,即使你没开服务器,也可以发出,因为它只管发出,不会管有没有到

在这几天的修改代码中遇到了很多问题。

一.传输的时候出现沾包问题

解决方案:

1.可以指定数据长度,然后去读写,但是这种方法效率低下

2.可以插入特定字符,读取的时候注意即可,个人认为回车符号是很可以的。

二.传输的时候都卡在一个点阻塞了

解决方案

1.可以利用flush去强制把流中的数据弹出。(shutdown不可以,shutdown使用的话会关闭流,也相当于关闭了通道)

三.如果一个对象当中设置了serversocket和socket,多次new对象,不是多线程的情况,会出现connection reset的情况。

解决方案

尽量在一个对象中进行操作

序列化

序列化:将 Java 对象转换成字节流的过程。

反序列化:将字节流转换成 Java 对象的过程。

当 Java 对象需要在网络上传输 或者 持久化存储到文件中时,就需要对 Java 对象进行序列化处理。

实现类实现Seriailizable 接口,读取的时候需要按照写入的顺序来。

 

提示,不要写过多的端口实现功能,很容易眼花缭乱,导致出错。

虽然踩了这么多坑,但是至今连上去的只有登录,并且还有点小bug在里面。

现在客户端和服务端还没分离出来,因为我的消息总是阻塞,尽管我使用了flush,各种流也试过了。只要消息传输次数多了,就容易阻塞。还没有找到原因,想试试对象流,以及序列化操作是否能解决该问题。

下面的这个账号和密码我是分了俩次发送

客户端

服务端

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/419505.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PaddlePaddle NLP学习笔记1 词向量

文章目录1.语言模型 Language Model1.1 语言模型是什么1.2 语言模型计算什么1.3 n-gram Language Model2.神经网络语言模型NNLM2.1 N-gram模型的问题3. 词向量3.1 词向量(word Embedding)word2vec 词向量训练算法3.2 如何把词转换为词向量?3.3如何让向量具有语义信息…

Windows 下部署Redis 主从模式+哨兵模式+JAVA连接方式

前言 之前项目需求部署redis高可用,走了很多弯路以及相关配置来回折腾浪费了很多时间,特地记录下。 主从模式:实现多台redis实例进行服务运行,并且数据相互同步; 哨兵模式:实现主服务器和从服务器进行监听…

工业电子中的安森美深力科AMIS30660CANH2RG CAN收发器 面向工业自动化和汽车电源应用

工业电子中的安森美深力科AMIS30660CANH2RG CAN收发器 面向工业自动化和汽车电源应用 AMIS30660CANH2RG CAN 收发器是控制器区域网络 (CAN) 协议控制器和物理总线之间的接口,可在 12 V 和 24 V 系统中使用。该收发器为总线提供差分发射功能,向 CAN 控制…

Spark编程基础-RDD

目录 1.何为RDD 2.RDD的五大特性 3.RDD常用算子 3.1.Transformation算子 1.map() 2.flatMap() 3.reduceByKey() 4 . mapValues() 5. groupBy() 6.filter() 7.distinct() 8.union() 9.join() 10.intersection() 11.glom() 12.gruopBykey() 13.sortBy() 14.sortByKey …

docker+docker-compose+nginx前后端分离项目部署

文章目录1.安装docker1.1 基于centos的安装1.2 基于ubuntu2.配置国内加速器2.1 配置阿里云加速器🍀 找到相应页面🍀 创建 docker 目录🍀 创建 daemon.json 文件🍀 重新加载服务配置文件🍀 重启 docker 引擎2.2 配置网易…

OJ系统刷题 第八篇

13415 - 津津的储蓄计划 时间限制 : 1 秒 内存限制 : 128 MB 津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。 为了让津津学习如何储蓄,妈妈提出,津…

计算机组成原理---第四章 指令系统

一、指令系统的发展与性能要求 指令系统的概述 指令就是要计算机执行某种操作的命令。可分为:①微指令,属于硬件;②机器指令,简称指令,完成算术逻辑操作;③宏指令,由若干条机器指令组成&#xf…

[Java]JSTL标签库

EL表达式https://blog.csdn.net/m0_71229255/article/details/130173486?spm1001.2014.3001.5501 JSTL标签的使用 Java Server Pages Standard Tag Libray(JSTL): JSP标准标签库,是一个定制标签类库的集合,用于解决一些常见的问题,例如迭代…

【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 建模方案及代码实现

更新信息:2023-4-15 更新了代码 【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 1 题目 电商物流网络由物流场地(接货仓、分拣中心、营业部等)和物流场 地之间的运输线路组成,如…

Java项目架构分层改造-项目亮点

服务分层改造 时间操作人员2023年04月12日23:04:00创建文档Cheems 原始项目结构 所有文件糅杂在一起(大多数公司如此),没有分层开,功能增加代码复杂不清晰 分层改造后 先确定思路,后续把功能搬过来即可!&…

关于GNSS技术介绍(一)

什么是GNSS? GNSS的全称是全球导航卫星系统(Global Navigation Satellite System),它是泛指所有的卫星导航系统,包括全球的、区域的和增强的。GNSS是覆盖全球的自主地利空间定位的卫星系统,用于导航与定位…

Stable Diffusion成为生产力工具(四):制作食品安全PPT所用的相关图片png、图标icon

S:你安装stable diffusion就是为了看小姐姐么? I :当然不是,当然是为了公司的发展谋出路~~ 预先学习: 安装webui《Windows安装Stable Diffusion WebUI及问题解决记录》。运行使用时问题《Windows使用Stable Diffusion时…

【C语言】 数据的存储 -- 数据类型介绍 -- 存储 -- 浮点型在内存中的存储,很详细也很重要,不明白的一定要看

目录 1、数据类型介绍 1.1 类型的基本归类 2、整型在内存中的存储 2.1 原码、反码、补码 2.2 大小端介绍 2.3 练习 3、浮点型在内存中的存储 3.1 举一个例子 3.2 浮点数存储规则 *************************************************正文开始*************************…

一文了解MongoDB的各种部署模式

单节点模式(Standalone,不推荐用于生产环境) standalone模式即单节点模式,指在服务器上只部署一个 mongod 进程用于读写数据。优点是部署简单,可以快速完成部署,缺点是无容灾。只推荐用于日常的开发、测试…

线程(Thread)的三种等待唤醒机制详解

1、为什么需要线程的等待和唤醒 线程的等待唤醒机制是一种经典的“生产者和消费者”模型。例如食品加工厂,食品加工人员和原料补给人员,在有充足原料时,补给人员是在等待,等到原料不够时,食品加工人员通知补给人员&am…

linux实时性分析

什么是实时操作系统 操作系统的实时性是指执行一个特定任务的时间是确定的和可预测的,这个任务执行时限需要考虑任何的情况,包括最恶劣的情况。或者说操作系统能够在规定的时间点内完成指定的任务操作,一旦超过这个时间点会对整个系统带来不…

【探花交友】day01—项目介绍与环境搭建

目录 1、项目介绍 1.1、功能列表 1.2、项目背景 1.3、功能概述 1.4、技术方案 1.5、技术解决方案 2、前后端分离 2.1、前后端分离的概述 2.2、YAPI介绍 3、开发工具 3.1、虚拟机配置 3.2、Android模拟器 3.3、调试工具PostMan 4、环境搭建 4.1、MYSQL数据库 4.…

【JAVA程序设计】(C00127)基于SSM+vue开发的音乐播放管理系统-有文档

基于SSMvue开发的音乐管理系统-有文档项目简介项目获取开发环境项目技术运行截图项目简介 基于ssm框架vue以及html前台的开发的音乐管理系统共分为二个角色:管理员、用户 管理员角色包含以下功能: 登录、个人中心(修改密码、个人信息修改&am…

溯源取证-内存取证 高难度篇

今天的场景依然是windows场景,只不过此次场景分为两个镜像,本次学习主要学习如何晒别钓鱼邮件、如何提取钓鱼邮件、如何修复损坏的恶意文件、如何提取DLL动态链接库文件 本次需要使用的工具: volatility_2.6_lin64_standalone readpst clams…

c++11 标准模板(STL)(std::unordered_multimap)(十三)

定义于头文件 <unordered_map> template< class Key, class T, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator< std::pair<const Key, T> > > class unordered…