`
- 浏览:
112689 次
- 性别:
- 来自:
长沙
-
在进入大二开始,我们这群IT初步者也开始了在通信阶段的学习、接触通信之前也只是隐隐约约地从周围同学那了解到它有多么地重要,在我们的学习中占很大一部分时间;仅仅这些还是没有让我们感觉到它的重要性、真正体现了它的重要性的是斌哥的一句话:“无通信不软件”。可见我们要想做像样的软件、还是得好好地运用通信方面的知识了。
在学习的开始、我们是通过命令行来与自己创建的服务器连接的,这样的通信让我们容易接受和了解、我们自己 创建服务器的过程比较简单、只是负责接收来自命令行(即客服端)的消息并将其打印出来;其创建代码:ServerSocket
ss=new ServerSocket(port);这里ss就是创建的服务器、而port是自己需要给定的端口;关于这个端口、一般我们的电脑拥有的端口是0-65535;而其中0-1024的端口编号称为“知名端口”这是电脑机器已经设置好了的端口号,以便用于连接网络等各种其他网络连接;服务器创建好了后、我们要让它处于等待连接状态,Socket client=ss.accept();这样我们就可以用一个客服端来连接了。。。。
服务器创建好了后、我们需要创建一个客服端,客服端的创建也是比较简单的;Socket s=new Socket(IP,port);其中IP为客服端连接的服务器的IP地址、port是为服务器提供连接的端口;通过这两个参数就可以跟服务器连接了。。。
服务器跟客服端连接好了后、下面我们需要来处理两者之间的通信;在这里、它们之间要想达到一种通信顺利和畅通的效果,我们需要对客服端和服务器两者给定好彼此之间的通信协议、在这开始学习间,其协议比较简单、就是要求我们怎么读就怎么写;比如我们在客服端发送一段文字、那么我们在发送这段文字之前,需要做些什么呢?难道我们就直接将这段文字发送过去就可以了吗?当然、如果我们仅仅从只发送文字这块来说是可以的。。但是、实际生活中,我们的软件需要做的有很多、不是仅仅局限发送文字,所以、我们在发送这段文字之前,我们需要先将其文字的长度读进去、接着我们还要把文字的标志发送过去、好让对方接收到做出那种情况的接收。。。然后、我们就可以将这段文字发送过去了。。。在接收的一端、我们收的先是长度,这没什么关系,也不必做什么处理、然后接着的是发送数据的用途(即标志)读取到这个后、就要求我们对其做出相应的反应,标志是用于接收文字的、则我们就按文字发送的过程进行读取;这样我们得到的通信内容就不会有差错了。。。
在上面、貌似我们将通信的处理得差不多了。。但我告诉你、这里还有很大一问题,因为我们给的标志没有很好的处理、我们的标志仅仅用数字1、2、3等标志、要知道我们发送消息是以字节的形式发送的、那么很可能我们会将读取的消息中某个字节编码当做标识符来读取、那样就会导致通信出问题了。。。所以、一般地、我们需要好好处理这个标识问题:在一般的大型通信软件中、它们用的标识是XMPP消息格式定义。其定义如下:所有的消息包括在<msg>为</msg>为标签的一段字符串内:<msg>具体消息必须是以<msg>开头,以</msg>结尾。
比如:登录请求
<msg>
<type>login</type>
<name>user</name>
<pwd>pwd</pwd>
</msg>
当我们接收时,需要将消息提取出来、比如:String msg=readString();
String type=getXMLValue("type",msg);//解释出消息类型
String User=getXMLValue("name",user);
String pwd=getXMLValue("pwd",pwd);
这样、我们就可以将信息完全地解释出来,而其中引起的数据错误的可能性就很少很少了。。。
已经两点多了。。下午还得去上课、所以有关通信方面的介绍暂时到这里、上面还有很多需要补充、比如数据的读取和写入过程。。。有时间、我再补充吧。。。再见了。。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
现代通信技术主要包括网络通信技术、蓝牙通信技术、光纤通信技术、卫星通信技术和移动通信技术。 1. **网络通信技术**: 网络通信技术在现代社会中扮演着至关重要的角色,特别是互联网和公安内部网的运用。互联网...
### 第三代移动通信技术(3G)详尽解析 #### 一、3G技术概述 第三代移动通信技术,简称3G(3rd Generation),是指在第一代模拟制式手机(1G)和第二代数字制式手机(2G)之后的新一代数字通信技术。与前两代相比...
试析3G通信技术的发展 第三代移动通信技术是指支持数据传送的蜂窝移动通信技术,使得人们在任何时候都能接受到网络信号,它所要达到的目标是实现全球无缝的移动漫游以及高速数据传输和宽带多媒体服务。 3G通信技术...
3. 即时通信:日常使用的QQ、微博、博客等即时通讯工具,都是计算机通信技术的典型应用,它们方便了人们的社交活动,拓宽了信息交流的渠道。 总结而言,计算机通信技术以其高效、多元和抗干扰的特性,正在深刻地...
大数据时代信息通信技术的应用现状包括:电子邮件、博客、照片、社交媒体等,2015年,全球电子邮件数量达到5040亿,社交媒体用户数量达到4.8亿等数据显示,大数据时代的到来带来了信息通信技术的发展和挑战。...
【摘要】:本文详细介绍了第三代数字通信技术(3G)在水利行业的应用前景、存在的问题和发展趋势。3G技术是一种将无线通信与互联网相结合的新一代移动通信系统,能够支持多种媒体形式,如图像、语音、视频流等,提供...
【标题】"KGC技术博客1.zip"是一个包含技术博客内容的压缩文件,可能是某位开发者或技术爱好者分享的知识资源集合。"KGC"可能是个人、团队或项目的缩写,但具体含义需根据上下文来推测。这个压缩包提供了一个仿制的...
【信息通信技术用户的类型】 信息通信技术(ICT)在现代社会中的普及程度日益加深,不同的用户群体对ICT的应用和依赖程度存在显著差异。PEW互联网调查项目深入研究了美国人的ICT使用模式,将用户分为三个主要类别:...
【ATC21S项目与数字化网络学习-信息通信技术应用能力】 ATC21S项目,全称为“21世纪能力教学与评价项目”,是由澳大利亚、美国等六个国家共同发起的一项教育研究计划,旨在应对信息化时代教育的挑战。该项目重点...
【下一代通信技术和计算机技术对广播电视发展的影响】 随着通信技术和计算机技术的飞速发展,广播电视行业正经历着深刻的变革。这些变革主要体现在以下几个方面: 1. **节目传送的开放性**: 传统上,广播电视网...
基于Vue cli3和flask搭建的个人博客项目,前后端分离,使用axios进行前后端的通信,还运用了vuex、element-ui等,主要实现了登录注册、首页博客展示、添加博客、个人博客、我的收藏、评论博客等模块。非常适合python...
《基于SpringBoot-Blogs的个人技术博客管理系统详解》 在当今信息化时代,个人技术博客已经成为技术爱好者、开发者和研究人员分享知识、交流经验的重要平台。本文将深入探讨一款名为"SpringBoot-Blogs"的个人技术...
本研究论文主要探讨了新媒体环境下信息通信技术(ICT)科学传播的话语分析。通过数据挖掘技术和语料库分析方法,对新媒体中科学传播文本进行了系统化处理和分类研究,以期建立一套科学传播话语体系,提供针对ICT科学...
AJAX并非单一的技术,而是一种使用JavaScript异步与服务器通信的方法,无需刷新整个页面就能更新部分网页内容。在博客系统中,AJAX被用来实现无刷新的用户体验,比如用户发表评论或点赞时,页面无需完全刷新,只更新...
它采用单线程、异步I/O模型,处理高并发请求时表现出色,特别适合于构建实时通信应用,如聊天服务、实时数据分析和我们关注的博客系统。 该“超小型博客系统”利用了Node.js的这些优点,实现了轻量级、高效能的博客...
"Thinkphp5技术交流分享个人博客网站源码" 这个标题指出,我们正在讨论一个基于Thinkphp5框架构建的个人博客网站的源代码。Thinkphp5是中国国内广泛使用的PHP开发框架,它提供了丰富的功能和工具,方便开发者快速...
根据提供的文件信息,我们可以推断出这篇文档主要讨论的是与Spring Boot技术栈相关的博客内容,尤其是聚焦于企业级应用中的前后端开发。接下来,我们将基于这些有限的信息来展开相关知识点的详细阐述。 ### Spring ...
实现前后台功能的过程中,前端通常采用HTML、CSS和JavaScript技术,通过AJAX异步通信技术与服务器进行交互,提供流畅的用户体验。用户在前端可以查看博客文章,搜索感兴趣的内容,而后台管理界面则为博主提供了对...
套接字通信博客的有图案的版本 套接字(Socket)是计算机网络中的一种通信机制,它允许不同的计算机之间通过网络进行通信。套接字通信是计算机网络中最基本和最重要的一种通信方式。 概念: 套接字是计算机网络中...
本系统主要运用了物联网传感检测与通信技术,由使用Arduino平台开发的挂饰和基于Android平台设计的手机应用软件组成。挂饰通过蓝牙….zip嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可...