与其说是项目总结,到不如说是反思总结。总结这类东西,必须有感,真情实感,不管是项目总结还是反思总结,亦或是学习总结,工作总结等等。亲身经历,有感而发才行,写总结应如写随笔,随意而不可随便,笔随心动,心到笔随,这是我对随笔这一文体的精髓总结。我想借用来描述总结的精髓,也不为过吧。
学习通信阶段也有十天了,本来说是两三天一总结,可到现在一篇都没写,实在是有些惭愧啊。迟迟未写总结,说来原因也很简单,自然有没时间之类的借口,但是关键还是对技术的了解和掌握不够,就是我前面所说的感不够。话说很多理科生在逻辑分析上占优,在表达上却不及文科生。包括口头表达和文字表达。所以更是要加强这方面的训练。像演讲,总结报告等都是很好的锻炼形式。不敢说我的表达能力有多强,起码能让别人明白我的意思。另一方面,其实想说我还是有点文科生的潜质的。诗词歌赋都难不倒我,却偏偏被几行代码搞懵了。
前面两段算是发点小小的感慨,技术博客,总归是要讲点与技术相关的东西,下面就简单总结一下这些天来对通信这一块的理解和感悟。虽说基本是抄书上的代码,但收获总是有的,所谓“熟读唐诗三百首,不会作诗也会吟”嘛,自己写固然重要,但是不会的时候也需要借鉴,个人认为,抄代码能是能变技术牛人的,只是抄的不够罢了,要能抄个几十万几百万行的代码,那么厚积薄发,你自己写代码的水平也会有很大的提高。但是,抄的再多,终究还是要自己会写才行。
网络通信,我们通常想到的是QQ,飞信,MSN等等,而我们现在要做的,只是一个初步的聊天工具。说起来,这部分的新内容也不是很多,最主要的就是一个Socket类的使用。
基本流程:第一步是创建一个java.net.ServerSocket对象,即服务器,代码如下
ServerSocket server = new ServerSocket(9090);
第二步等待客户机来连接,客户机进入后,生成一个Socket对象。服务器对象有个accept()的方法,这个方法是阻塞的,直到有一个客户机对象连接上来,才会返回一个Socket对象。
java.net.Socket client = server.accept();
第三步是从Socket连接对象上调用方法得到输入输出流。
java.net.Socket client = server.accept();
OutputStream out = client.getOutputStream();
InputStream ins = client.getInputStream();
第四步就是使用输入输出流对象进行通信数据的读写:从输入流中读取数据,向输出流中写入数据。读到的数据,即是客户机发来的数据;写出的数据,就会发送给客户机!代码如下:
String s = "你好!\r\n";
byte[] data = s.getBytes();
out.write(data);
out.flush();
client.close();
第五步,将代码完整的集成起来,就可以调试了。打开命令行,执行telnet命令,本地IP可以用localhost代替,完整的输入即为C:\>telnet localhost 9090。这样就实现了最基本的网络通信。当然这是最简单的版本,后续的还有更多改进的地方。
分享到:
相关推荐
这些年我们在微服务与消息中间件在网络通信上解决过很多问题,积累了很多经验,并持续进行进行优化和完善,我们希望能把总结出解决方案沉淀到SOFABolt这个基础组件里,让更多的使用网络通信的场景能够统一受益。...
软件无线电技术在第三代移动通信中的应用是国家863计划的申请项目之一。因而软件无线电技术是我国第三代移动通信系统的关键技术之一。 软件无线电技术是90年代新技术之一,它已与第三代移动通信系统紧密的结合起来...
编写“Chat”网络聊天程序的几点收获总结 ------------------------------------------------- 嵌入式系统开发过程中的参考资料,上传上来,需要的童鞋参考。 ------------------------------------------------- ...
2、 简单的网络通信程序(包括服务器端程序,客户端程序,能实现客户端到服务器的主动连接,发送信息,服务器能否对信息做一次回应)。 3、 编写一个程序,能够根据输入的原始数据,及所选择的多项式,自动生成CRC...
串口通信是我们嵌入式项目中经常使用的通信方式之一,不管是用于控制还是用于升级,一个稳定的串口通信协议往往是保障程序稳定、高效运行的基础,本人就多年从事嵌入式工作经验总结了一套权威的串口通信协议,较...
课程分析针对通信专业的就业状况分析,调研,总结了通 信就业现状,并且针对该专业毕业生做出一些建议使其提升竞争力。 [关键词]通信、就业、薪资、专业课、企业 [正文] 通信简介: 细心的你是否留意到,十年前港台...
软件工程师,现从事软件项目管理、软件工程实施、数据库应用等领域的工作,在Windows操作系统下的应用软件编程方面有丰富的经验,另外对Oracle数据库的管理有深入的研究,是国内为数不多的OCM证书获得者之一。...
只要用少量矢量数据就可以描述一个复杂的对象,而占用的储存空间只是位图的几千分之一,非常适合在网格上使用。同时,矢量图象不会随浏览器窗口大小的改变而改变画面质量。使用插件方式工作。用户只需安装一次插件,...
CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。 想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel) CAN有很多优秀的特点,使得它能够被广泛的...
Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应...
随着各地的训练成绩的不断上升,在训练方法上寻求突破成为取得好成绩 的关键之一,今年电子商务技术项目在训练方法不断创新,自己探索了一套训练方法,实 践证明训练效果很好。 二、存在问题 1。学生的整体水平虽然较...
二、课程目标 (一)总目标 通过本课程的学习,旨在使学生掌握计算机网络的基本概念及网络通信的基础知识 ,培养学生设计、规划家庭/办公室等小型网络的能力,网络连接及故障排除能力,网络 设备的配置、管理能力。...
2009 年新医改方案公布,方案中把信息技术明确的列为支持医改成功实现的八个主要支柱之一,这是从未有过的事情,我国医疗卫生信息化面临从未有过的机遇与挑战。方案还明确要求启动建立居民健康档案和电子病历,实现...
最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料;本资料仅用于学习。 【课程内容】 第1周 开课介绍 python发展介绍 第一个python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if ...
04 ORM多表操作之一对多查询之双下划线查询 05 ORM多表操作之多对多添加记录 06 ORM多表操作之多对多查询 07 ORM多表操作之F查询与Q查询 08 ORM的querySet集合对象的特性 第53章 01 admin介绍 02 alex首秀失败 03 ...
博通公司 计算机网络无线建设项目 技 术 方 案 开拓有限责任公司 2011年12月 目录 前言------------------------------------------------------------------------ ---3 公司介绍---------------------------------...
android网络通信之socket教程实例汇总 AsyncTask进度条加载网站数据到ListView 命令行开发、编译、打包Android应用程序汇总大全 Android 动画效果二 Frame Animation 动画专题研究 Android新浪客户端开发教程(完整...
Asp.net 2.0功能体验,细节之Web控件(一) 隐藏控件 Asp.net 2.0功能体验,总体设计思想 Asp.net 2.0 WebPart使用经验点滴 革新:.NET 2.0的自定义配置文件体系初探 关于如何在ASP.NET 2.0中定制Expression ...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...