`
肉林100
  • 浏览: 14365 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

通信阶段总结(1)

阅读更多
首先,我们要实现一个QQ的基本功能,就要有以下模块:聊天,传文件,远程控制,视视频音频聊天; 所以我们就要分步来实现它们。 1.实现一个简单的服务器;(运用系统自带的telnet客户端) 2.实现多线程的服务器; 3.实现一个能够群聊的服务器;(运用系统自带的telnet客户端) 4.写一个简单的客户端; 5.制定xmpp风格的通信协议,并且将协议运用于通信; //以上是聊天模块的实现步骤 6.制定字节流协议,实现文件的传输;(如果要传送大文件,其功能还要深入实现:将文件进行切割传输) //以上是文件传输模块的实现 7.远程控制;(其实远程控制也是字节流协议的运用:服务器不断截图传图片,实现视频;客户端不断通过鼠标和键盘产生命令并以字节流方式传输) //以上是远程控制模块的实现方法 8.音视频聊天的实现 当然,在最后必须加上炫彩夺目的界面,这看上去似乎就是个QQ了,但是里面的细节还有许多:注册(当然这里就与数据库有关系了),添加好友,踢人,震动。。。。。。 下面就来稍微详细地做一些代码实现的主要步骤或是要注意的地方。 我们一般来说,都是先写服务器端,我们首先就应该建立一个服务器的class,然后在自己写的public void setupServer(int port){...}方法中创建一个服务器:java.net.ServerSocket ser= new java.net.ServerSocket(port);再创建一个客户端对象并让服务器进入等待:java.net.Socket so = ser.accept(); 之后的事情就是等有客户端连入就取得java.io.InputStream与java.io.OutputStream对象从而建立起通信的桥梁或管道,这都是写服务器端的一个基本架构;不过在运用字节流协议时还应将流“包装”为数据流即:DataInputStream和DataOutputStream;另外要值得注意的是class的功能一定要单一,不然会显得杂乱无章;还有,在具体的实现当中特别注意死循环的问题,这里暂不讨论;同样在哪里用throws 在哪里用try...catch...也是应该要考虑的。对于群聊,原理也比较简单,一个客户端发送一条消息到服务器,再通过服务器将消息依次转发,通过一个队列就可以实现。我认为最麻烦的一步会出现在运用xmpp协议上而不是在制定协议上,不过在制定协议时我认为应该“留退路”,即让协议有可以扩展的能力,你也说不清以后还会实现一些什么新功能。运用xmpp风格协议时烦杂在解析,还要注意如注册的流程,好友上线的流程,这都是需要细致分析的,如果这里class功能不单一的话,会给人造成一些不小的麻烦,会让你头晕脑胀。。。。。。要在这里特别强调的是可能会有人将服务器程序与客户端程序写到同一个包下,这是大错特错的,我们可以试想看,这还叫通信吗?。。。。。 在下一篇中,将列举一些常见的错误。。。。。。
分享到:
评论

相关推荐

    北邮秋季光纤通信技术光纤通信技术阶段作业二样本.doc

    本资源提供了北邮秋季光纤通信技术光纤通信技术阶段作业二样本的知识点总结,涵盖了光纤通信技术的基本概念、光纤结构、光纤通信技术的优点和缺点等内容,为学习和研究光纤通信技术提供了有价值的参考资料。

    通信认识实习总结

    第三代移动通信技术(3G)的普及,标志着移动通信技术进入了一个新的阶段。以宽带CDMA技术为主导,采用码分多址技术,显著提升了通信容量和服务质量,使得移动数据通信变得更加高效。而到了第四代移动通信技术(4G)...

    S7-1200与S7-300的通信测试总结.rar

    1. **Profibus DP通信**:S7-1200可以通过添加Profibus DP适配器模块实现与S7-300/400的连接。配置过程中,需要在S7-1200和S7-300/400上定义各自的站地址,创建并分配输入/输出映射,然后在PLC程序中编写通信程序,...

    移动通信技能技术总结1G~4G发展史.pdf

    "移动通信技能技术总结1G~4G发展史" 移动通信技能技术从第一代(1G)到第四代(4G)的发展,经历了数十年的发展和演变。自1897年意大利人M.G.马可尼实现了第一项无线电通信实验以来,移动通信技术经历了四个阶段的...

    工程通信个人年终总结_

    【工程通信个人年终总结】 在过去的一年里,作为一名工程通信领域的从业者,我经历了从初入行业到逐渐熟悉业务的转变。在***公司的各个项目中,我不仅深化了对工程通信的理解,同时也意识到自身存在的问题与不足。...

    698通信协议培训阶段性总结.docx

    面向对象的用电信息数据交换协议学习总结,系统总结698采集系统面向对象通信协议的思想和关于698采集系统面向对象通信协议的框架、技术特点与创新,加深对部分术语和数据类型的认知。

    2017通信年终总结.doc

    因此,通过与项目部领导的深入交流,进行定期的阶段性总结,并及时调整工作方法,成为了从业者克服困难、提升工作状态的重要手段。 在通信工程监理的工作中,从业者始终坚持“欲穷千里目,更上一层楼”的理念,将其...

    移动通信复习总结.docx

    1. 第一代(1G)移动通信系统:这一阶段主要是模拟通信系统,如美国的AMPS系统和欧洲的TACS,主要用于语音通信。 2. 第二代(2G)数字蜂窝移动通信系统:包括GSM和CDMA系统,不仅支持语音通信,还引入了低速数据...

    移动通信概论总结优秀文档.ppt

    这些系统分别代表了移动通信的不同发展阶段和技术标准。 5. **未来发展**:随着技术的进步,移动通信正朝着第四代(4G)和第五代(5G)发展。4G提供了更高的数据速率和更低的延迟,5G则进一步提升了速度,引入了...

    通信实习报告总结.doc

    在开始阶段,他参加了专业的上岗培训,学习了通信系统的基础知识和操作流程。随着时间的推移,杜宗飞同学逐渐适应了通信工程专业岗位的工作内容,包括设备操作、网络监控和故障排除等。在这个过程中,他还深入学习了...

    2020通信资料员年终工作总结.doc

    在两份工作总结中,我不仅展现了扎实的专业知识,还体现了自己在沟通协调能力以及对工程流程深入了解方面的优势。我清楚地知道,资料员的工作对于保障通信工程的质量、安全和合规性至关重要。在未来的工作中,我将...

    通信工程学习总结.doc

    1. 移动通信理论与技术:关注移动通信系统的创新技术,如混合多址接入、网络规划、无线资源管理,以及各种编码和调制技术,同时也会研究特定领域的专用移动通信系统。 2. 无线通信与移动计算:涉及无线局域网络、自...

    2018通信个人工作总结.doc

    《2018通信个人工作总结》是对过去一年通信行业工作者工作情况的全面回顾与反思,主要涉及了实习、培训和工作感悟三个方面。 首先,实习与培训内容是提升个人专业技能的关键阶段。在这个过程中,作者参与了CAD绘图...

    通信实习报告总结.pdf

    3G技术作为移动通信发展的一个重要阶段,它的到来极大地推动了移动互联网的普及。WCDMA、CDMA和TD-SCDMA作为3G技术标准,各自在码分多址技术、从2G到3G平滑过渡等方面有着各自的优势和特点。其中,CDMA技术以其抗...

    移动通信复习总结.doc

    这一领域经历了几个关键发展阶段,从第一代(1G)到第四代(4G),不断演进以支持更丰富的服务和更高的数据速率。1G时代采用模拟通信系统,如美国的AMPS和欧洲的TACS,主要用于语音通话。第二代(2G)引入了数字蜂窝...

    现代交换原理与通信网技术知识点总结.docx

    ### 现代交换原理与通信网技术知识点总结 #### 一、通信网与交换原理概述 ##### 1. 交换设备与交换方式 - **通信网中的交换**:通信网中的交换功能由交换节点(交换设备)完成,根据信息传输模式的不同,交换方式...

    通信个人年终工作总结.doc

    1. **项目收尾工作**:通信工程的收尾阶段涉及到遗留问题的解决,如设备标签整理、新建机房的后续施工、割接准备等。这要求工作人员具有高度的责任心和执行力,能够独立完成任务,即使在资源有限的情况下也能确保...

    工作总结之通信实习总结3000字.docx

    【通信实习总结】 时间如白驹过隙,转眼间在易讯科技股份有限公司的实习经历已接近尾声。作为即将跨入社会的大学生,我有幸在这里度过了最为宝贵的学习阶段,将大学四年来积累的理论知识与实际工作相结合,亲身体验...

    工业数据通信与控制网络知识点总结(期末必备).pdf

    通过以上知识点的总结,可以看到工业数据通信与控制网络是一个不断发展和创新的领域,它涉及的技术和协议广泛而复杂。对于相关从业人员来说,了解和掌握这些基础知识是必不可少的,它们是解决实际问题、进行系统设计...

    变电站通信技术发展综述.pdf

    随着时间的发展,变电站的通信技术也随之发展,尤其是到了现代阶段,变电站内部设备间的通信采用了更加先进和高效的通信协议和标准,例如IEC 60870-5-103规约(站内二次设备间通信)、IEC 60870-5-102规约(电能量...

Global site tag (gtag.js) - Google Analytics