`
wuyongzheng
  • 浏览: 3131 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

通信浅析

    博客分类:
  • java
阅读更多
   想起来自己已经有一学期没有写过博客了,想想在这一学期开始,自己通信这方面也只是才上过几节课,所以说只能根据自己的理解来浅析一下通信这方面的内容。
    通信,从表面意思来理解就是双方或多方之间进行消息或信息的一个交互,各方之间你来我往进行对话,就形同两个人或多人个人在一起交谈,只不过计算机和外部的通信之间的渠道变得抽象起来。在讲通信开始,我们先通过计算机后台的各种ping命令,netstat命令,来了解了我们平时和淘宝等一些网站进行交互的通道。我们平时上网逛一些像淘宝等一些网站,都要将我们所输入的网址解析为一个特定的域名,并且再连接到淘宝的服务器之间,还要经过一系列的点,我这里所说的点可能不是很专业,但就相当于我们打电话时可能要经过许多发射塔一样,我们访问这些网站也要经过好多的机器,这些机器可能是一些路由器等。
    当然,前面所说的通信的含义只是从广义上来说的,而从技术层面上来说,通信中最根本的其实就是指的是通信协议。
    通信协议是一种由服务器端和客户端所必须要遵循的一种规则,如果不按这种规则来进行通信,就相当于违反了协议规则,则会导致服务器端无法正常识别所发送过来的内容,从而无法进行正常的通信。通常我们所接触到的是Tcp/ip、UDP协议。
    Tcp/ip协议的通信就好像客户端和服务端之间形成了一条无形的管道,当两者之间建立起管道后才能够进行正常的通信。就相当于我们平时打电话,必须要双方都接通了才能进行通话。而UDP协议则不需要。
    通信一个很好地实例便是我们经常使用的腾讯QQ了。他可以实现两个人或多个人之间的消息传递以及文件传递。
    下面是服务器所定义的关于信息和文件传输的协议:
if(flag==1){//类型为1,是文本聊天消息,按其规则读取
//创建对应消息体部分字节的长度的数据
byte[] data=new byte[totalLen-4-1-4];
//从流中读取data.length个字节放入数组中
dins.readFully(data);
String msg=new String(data);//转成字符串
System.out.println("发给文本给:"+destNum+" 内容是:"+msg);
}
else if(flag==2){//文件数据包体解析
System.out.println("发送文件给:"+destNum);
byte[] data=new byte[256];
dins.readFully(data);//读取256个字节做文件名字
//解析出了文件名字,并去除末尾空格
String fileName=new String(data).trim();
System.out.println("读到的文件名字是: "+fileName);
//余下的字节就是文件内容
data=new byte[totalLen-4-1-4-256];//文件字节数据总长
只为不凡而来! 蓝 杰
47
dins.readFully(data);//读入文件的字节
//保存文件到当前目录下:
FileOutputStream fous=new FileOutputStream(fileName);
fous.write(data);
fous.flush();
fous.close();
System.out.println("文件保存完成!");
}else{
System.out.println("收到未知数据包: "+flag);
client.close();
}
}
} catch (Exception ef) {ef.printStackTrace();}
}
}

    在这个协议中,我们设置当传输的为文本聊天时,则按照消息类型值为1,然后读取一个int 型,作为接收方的号码。根据协议的规则,总长度=(消息长度字段的 4 个字节)+类型的 1 个字节+接收号码的 4 个字节+消息内容字节长度,余下的长度,则是聊天内容的字节个数,假设是 MsgLen;最后读取 MsgLen 个字节,组成一个字符串,就是用户聊天的内容。 当传输的为文件时,则按照文件名、文件数据、接受者来进行规定传输。其消息类型则设为2
   在客户端要想进行传输室时,则需要按照服务器端定义的顺序进行传送,下面是传送文本消息顺序:
dous.writeInt(totalLen); //总长
dous.writeByte(1); //类型:1为文本消息
dous.writeInt(destNum);//写入目标用户号
dous.write(strb);//写入消息内容
dous.flush();

  下面是进行文件传输时的顺序:
 
dous.writeInt(totalLen);
dous.writeByte(2);//类型是2,即文件数据包
//写入目标用户号
dous.writeInt(destNum);
//文件名:得到文件的短名字
String shortFileName=file.getName();
//写入文件名,不足256个长度时,补\0
writeString(dous,shortFileName,256);
byte[] fileData=new byte[fileDataLen];
ins.read(fileData);//读入文件数据
dous.write(fileData);//写出到服务器的流中
dous.flush(); //刷新流
分享到:
评论

相关推荐

    量子保密通信浅析.docx

    ### 量子保密通信浅析 #### 一、前言与背景 量子保密通信作为一种新兴的信息安全技术,近年来引起了广泛的关注。随着2016年中国发射的“墨子号”量子科学实验卫星的成功运行,量子保密通信技术实现了从理论到实践...

    基于蜂窝物联网的车联网通信浅析.pdf

    它的核心是利用先进的通信技术、计算机技术、控制技术以及传感技术,实现对车辆运行中各类信息的搜集、汇聚、处理与分析,并通过信息技术对车况进行智能化的识别、跟踪、定位、监管,从而构成一个庞大的网络系统。...

    分布式光伏电站接入电网调度自动化与通信浅析.pdf

    #资源达人分享计划#

    浅析GPU通信技术.pdf

    随着运算数据量的不断攀升,GPU 间需要大量的交换数据,GPU 通信性能成为了非常重要的指标。NVIDIA 推出的 GPU Direct 就是一组提升 GPU 通信性能的技术。但 GPU Direct 受限于 PCI Expresss 总线协议以及拓扑结构的...

    浅析5G移动通信技术及未来发展趋势 (3).pdf

    "浅析5G移动通信技术及未来发展趋势" 一、移动通信技术的发展历程 移动通信技术的发展可以分为四个阶段。第一个阶段是1G技术,它于上世纪80年代初期被提出,历经十年的发展问世。这一代移动通信技术主要是通过模拟...

    应急通信技术浅析.pdf

    【应急通信技术浅析】 应急通信技术是针对自然灾害或人为紧急情况下的通信需求,通过综合利用各种通信资源确保信息传递、紧急救助和指挥调度的有效进行。它具有临时性、快速响应和特殊通信机制的特点,需要满足时间...

    浅析卫星通信系统的新技术

    卫星通信技术越来越满足不了通信事业的飞速发展,为此,科学家需不断研究改进卫星通信的技术手段,运用激光高技术于卫星通信之中是一个发展趋势。据专家测算,卫星激光通信在比微波通信数传率高一个数量级的情况下,...

    通信系统中的光纤通信技术浅析.pdf

    通信系统中的光纤通信技术浅析.pdf

    车载无线通信技术浅析.pdf

    车载无线通信技术浅析 本文对车载无线通信技术进行了浅析,讨论了车载无线通信技术的应用、发展和挑战。文章首先介绍了电磁波的不同频段,然后对低/中频、蓝牙、5G、DSRC 及 UWB 等通信技术进行了车载应用分析。 ...

    移动通信原理浅析.pptx

    移动通信原理浅析.pptx

    4G通信系统关键技术浅析

    【4G通信系统关键技术浅析】 4G通信系统,全称为第四代移动通信技术,是继2G、3G之后的新型通信系统,其核心技术主要包括OFDM(正交频分复用)、MIMO(多输入多输出)、HSPA+(高速分组接入增强版)以及IMS(IP...

    数据通信技术及其应用前景浅析-数据通信-通信传播.pdf

    数据通信技术及其应用前景浅析 数据通信技术是当前信息时代的重要组成部分,它通过将通信技术与计算机技术融合发展而成。数据通信技术具有迅捷、方便等优点,在我国各个领域应用非常广泛。其中,光纤通信技术作为...

    视频通信技术发展趋势及问题浅析.pdf

    随着信息技术的快速发展,视频通信技术作为沟通协作的新方式,在多个领域得到了广泛应用。本篇文档从多个角度分析了视频通信技术的发展趋势和面临的挑战。 首先,文档提到视频通信即服务(VaaS),这是一种新兴的...

    航空电子通信系统关键技术问题浅析.pdf

    "航空电子通信系统关键技术问题浅析" 航空电子通信系统关键技术问题浅析是当前航空电子通信系统中非常重要的一部分,对于航空电子通信系统的发展和应用具有非常重要的影响。本文主要讨论了航空电子通信系统关键技术...

    配网自动化通信技术浅析.pdf

    《配网自动化通信技术浅析》 配电自动化通信技术是现代电网智能化的重要组成部分,它涉及电力系统的数据采集、控制指令的传输以及故障定位等多个环节。本文主要探讨了配网自动化通信技术的原理、应用以及几种常见的...

    浅析4G通信技术的安全通信.pdf

    浅析4G通信技术的安全通信.pdf

    无线光通信技术浅析.pdf

    《无线光通信技术浅析》 无线光通信技术是一种新兴的通信方式,它利用激光束在自由空间(大气或水)中直接传输语音、数据、图像等信息,从而实现双向传送。这种技术又称为自由空间光通信(FSO)或虚拟光纤。随着...

    无线通信技术在电力通信中的应用浅析.pdf

    【无线通信技术在电力通信中的应用浅析】 随着21世纪信息时代的到来,电力通信已成为日常生活和生产中不可或缺的一部分,它极大地便利了人们的生活,确保了电力系统的稳定运行。在这个背景下,无线通信技术在电力...

    IPRAN通信技术浅析.pdf

    "IPRAN通信技术浅析" IPRAN 通信技术是近年来出现的一种新的通信技术,旨在满足不断增长的信息需求。该技术可以满足多个业务,能够承载多项统一业务,同时也能够满足网络利用率和运行维护效率的全面提升。 IPRAN ...

    浅析通信系统中的光纤通信技术.pdf

    浅析通信系统中的光纤通信技术.pdf

Global site tag (gtag.js) - Google Analytics