`
bigfang
  • 浏览: 40235 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

学习通信基础感悟1

阅读更多
   
    这几天,初学基础通信,我对这方面的概念,以前没有怎么了解。所以,目前只是大致了解。

1.对客户端与服务器的理解:
    在通信方面,经常举打电话的例子。比如,a向b打电话,那么a是客户端,b是服务器。先向对方发送连接请求的称为客户端。b的手机开机在线,等价于这个端口的服务器已建立,停留在accept等待连接,第一个阻塞状态的时机。此时,a向b连接成功后,b可以先向所有的客户端,发送相同的问候词,比如“你好”。然后,b停留在读取a的信息,第二个阻塞状态的时机。然后,两者,就可以进行交流了。两者对话,可以制定,发送一句话的结束协议,还有最后双方结束对话的协议,即双方断开连接。

2.ServerSocket与Socket
    一开始,对ServerSocket、Socket这两个词,有种十分陌生的感觉,这英语似乎很难理解。中文翻译,也不是很直观:服务器套接字,还需要对套接字这个词再做了解。在慢慢地学习中,大致,把ServerSocket认为一个服务器,而Socket作为一个客户端与服务器的连接媒介,可从这个载体上获得输入和输出流。

3.几个异常:
在通信这部分,异常比以前多了,我的程序中,最常见的就是
   (1)java.net.BindException: Address already in use: JVM_Bind,连接了一个已经占用的端口。
   (2)java.net.SocketException: Socket closed。当服务器在accept或者read阻塞状态时,关闭服务器产生的异常。

   当发现异常时,最好及时测试理解,那么,以后遇到,也能安然处之、不足为奇了。

前面基础部分中有:
   (1)数组越界
   (2)内存溢出,栈溢出一般是死循环,而堆溢出,可能是程序员申请分配的内存,超过了JAVA虚拟机的初始限制值.
  (3)空指针异常,没有创建对象,对象为null。
    ……

4.实现字符串的整句输出、多个客户端与服务器连接
    服务器创建使用telnet命令。
    (1)处理阻塞的方法是多线程的客户端,使各自的阻塞影响不了其他客户端。
    (2)这里,处理比较久的是读键盘的输入,Windows中,按Enter键,先后读入两个字节:回车13(CR-carriage return)、换行10(LF-line feed,NL new line),而右边数字键盘的Enter,只有一个字节10。所以,当制定每句话的结束标志是回车键时,要考虑一下按回车键的第二个字节10的处理。

5.String与StringBuffer
   字符串缓冲区StringBuffer与String的一个区别是:String不可改变,即若要改变String,则要new一个新的String对象,而StringBuffer称为可改变类,它是默认先分配大小为16的空间,方法append()、ingsert()等等,当空间不足时,才new一个新的2倍原来size+1的对象。StringBuffer某些方法可能还是会new一个新的对象,比如subString()。所以,在多次改变String的情况下,StringBuffer比String性能更好。

6.为简单的服务器,添加界面,服务器启停控制
    为了服务器的阻塞不影响界面的控制,所以,将创建服务器,写成了一个线程。这加强了对线程的使用和了解,线程中等待,Thread.sleep(100);让线程休眠,放弃CPU,线程进入阻塞状态。


    在学习中,还有
(1)方法声明、如何写负责的注释;
(2)发送消息时,字符的编码、解码问题,有编码就必然有对应的解码;
(3)阻塞问题,可用多线程处理;
(4)封装概念,类功能单一,可扩展,严谨;这个,非一日之成。
(5)正在考虑的启停机制。
    这些慢慢学吧。




分享到:
评论

相关推荐

    通信十年感悟 推荐

    从给定的文件信息来看,文章主要围绕“通信十年感悟”这一主题展开,涉及个人职业规划、兴趣与目标设定等方面的知识点。以下是根据标题、描述、标签以及部分内容提炼出的关键知识点: ### 一、个人职业规划的重要性...

    思科九年生活-通信牛人的感悟

    "思科九年生活-通信牛人的感悟"这一资源,通过一位通信专家的个人经历,揭示了在思科工作九年期间所积累的经验和洞见,对那些对通信技术或思科技术感兴趣的读者来说,是一份非常有价值的学习材料。 首先,我们可以...

    计算机系统基础(学习软件必看的)

    计算机系统基础是软件开发与学习的基石,无论你是初学者还是有一定经验的开发者,深入理解这一领域的知识都将对你的职业生涯产生深远影响。本资源“计算机系统基础”将带你走进计算机科学的世界,帮助你构建坚实的...

    生产实习通信工程.zip

    通过这些文档,我们可以看出通信工程实习不仅是技能的提升,也是个人综合素质的锻炼,为今后的就业打下坚实基础。同时,这也体现了教育与产业界的紧密联系,确保学生能够与时俱进,跟上通信技术的发展步伐。

    通信工程类实习报告.doc

    接着,学生参观了电工电子实验中心,这是学习通信工程基础的重要场所,能够实际操作和验证电路原理,提升实践技能。网络中心的参观则让学生了解了服务器和交换机在网络中的角色和功能,学习了数据传输和网络架构的...

    计算机学习感悟.pdf

    由于提供的文件内容【部分内容】似乎不包含完整的句子或段落,只是零散的数字、字母和单词组合,这使得很难直接从中提取出具有深度的计算机学习感悟的知识点。然而,可以推测文档中可能提到的一些软件和平台,并假设...

    大一计算机学习心得感悟.docx

    【大一计算机学习心得感悟】 计算机科学是当今世界发展最快速的领域之一,对于大一学生来说,初次接触这门学科可能会感到既新鲜又充满挑战。计算机的学习不仅仅是掌握编程语言,还包括理解计算机系统的运行原理、...

    通信工程专业的生产实习报告.doc

    【通信工程专业的生产实习报告】 通信工程专业的生产实习是学生将理论知识与实际操作相结合的重要环节,...实习报告则是他们将这些体验、学习和感悟整理成文,形成系统的知识体系,进一步巩固和提升自己的专业素养。

    2018通信个人工作总结.doc

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

    物联网导论学习感悟.pdf

    传感器技术是物联网感知层的基础,它能捕捉各种物理、化学和生物信息,类似于人类的感官。例如,温度传感器在空调中的应用、红外传感器在遥控器中的运用以及重力传感器在智能手机中的角色,都是传感器技术在日常生活...

    java基础的详细案例笔记

    Java基础是编程世界中至关重要的一步,尤其对于初学者来说,掌握好Java基础知识将为后续的进阶学习打下坚实的基础。"Java基础的详细案例笔记"无疑是一份宝贵的资源,它涵盖了学习Java过程中最核心的概念和实战技巧。...

    2021-2022年收藏的精品资料通信公司实习总结实习总结.doc

    2. **通信工程基础**:通过实习,学生对通信工程的基础知识有了更深入的理解,包括通信设备的工作原理和行业最新发展。这有助于将书本知识与现实应用相联系,弥补高校教育与实际工作的差距。 3. **工作态度与责任感...

    _20年工作经历与感悟

    标题中的“20年工作经历与感悟”表明这是一篇关于一位资深工程师职业生涯的回顾,主要涉及他在通信射频电路领域的经验和心得。描述中的“射频工程师讲述自己当工程师经历和感悟”进一步确认了该文的重点是个人在射频...

    Java学习总结[C程序员的感悟]

    ### Java学习总结:C程序员的感悟 #### 第一章:Java入门(C与Java的差异) ##### 基本数据类型: Java的数据类型与C语言相比,在命名上有一定区别,例如整型在C中为`int`,而在Java中也为`int`,但Java的数据...

    DSP原理及应用(学习DSP的好资料)

    《DSP原理及应用》是一门深入探讨数字...通过《DSP原理及应用》的学习,学生不仅可以理解数字信号处理的核心原理,还能掌握实际设计和应用DSP系统的能力,为将来在通信、自动化、音频处理等领域的工作打下坚实基础。

    19.2广播电视与通信学生用.pdf

    标题中的“19.2广播电视与通信学生用.pdf”指的是一个关于电磁波和通信的教材章节,主要面向学生。...这些知识点涵盖了电磁波的基础概念、通信技术的发展和实际应用,对于理解现代信息时代的通信方式至关重要。

    通信电路与系统课程设计指导书

    1. **巩固基础知识**:加强对通信电子电路基础知识的理解。 2. **综合应用能力**:提升学生运用所学知识解决实际问题的能力。 3. **自主学习能力**:通过查阅手册、资料、图表及相关文献等方式进行自我学习。 4. **...

    计算机通信专业实习总结范文.pdf

    这篇实习总结是对计算机通信专业实习经历的深度反思和体验分享,体现了实习生在理论与实践结合、职责履行、团队协作以及个人成长方面的认识和感悟。在实习期间,实习生深刻理解到学习的重要性,尤其是在实际工作中...

    通信个人述职报告6篇_1.docx

    - **基础知识应用**:从跟着前辈学习做起,将理论知识转化为实践经验。 - **独立负责项目**:通过独立负责项目增强个人责任感,提升沟通技巧及项目整体规划能力。 - **领导力培养**:担任项目负责人期间,锻炼了...

Global site tag (gtag.js) - Google Analytics