zoukankan      html  css  js  c++  java
  • 缘起 网络编程

    我为什么要学习Java网络编程,在实际的项目开发中,尤其是移动电信领域。很不辛或者是很辛运来到这个行业。之所以这样说是因为我之前做的项目一般的都是CRUD的基本操作,虽然说现在的Java企业架构一般都是面向微服务,诸如Spring Cloud,Spring Boot。或者是一些分布式框架,几乎都是面向服务的架构,服务的提供者,服务的消费者等等。我也是停留在会使用的阶段,虽然我知道分布式框架的底层都存在着Java网络通讯,可是始终不敢去正面的和他交锋,我之所以说不幸之处在于我从来没有去研究这块,辛运的是我不得不研究这块。我的项目的实际开发阶段,需要更多的网络编程。

    1 家书抵万金

    A要给B写信,那么首先要知道B的地址,然后通过邮局送达。B如果要回信,那么同样的也需要A的地址,也要通过邮局去送达。 
    在这里我们不关心邮局是如何送达信件的,是骑马也好,或者步行或者坐船等,这些过程或者方式我们是不需要关心的。上述的这种例子就是一个很好的计算机通讯的示例。 

    下面看一个模拟通讯的实例

    package com.asiaInfo.caozg.ch_01;
    
    import java.io.BufferedReader;
    import java.io.IOError;
    import java.io.InputStreamReader;
    
    /**
     * @Authgor: gosaint
     * @Description:
     * @Date Created in 12:35 2018/1/5
     * @Modified By:
     */
    public class EchoPlayer {
        public static String echo(String msg){
            return "echo :"+msg;
        }
        public static void talk() throws IOError{
            try {
                /**
                 * 创建字符缓冲流对象,读取字符输入流
                 */
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                String msg =null;
                while((msg=br.readLine())!=null){
                    System.out.println(echo(msg));
                    if(msg.equals("bye")){
                        break;
                    }
                }
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        public static void main(String[] args) {
            talk();
        }
    }

    调用talk()方法,当我们每输入一次,就会返回echo:xxx.知道输入的字符串和程序中的相等,程序执行完毕。这就像我们请求一次服务器一样,服务器会返回给我们一些数据,直到程序运行的终止 

    2 计算机网络概念

    1 结点:在计算机网络中,每一台计算机都可以说是一个结点,也包括一些终端,比如路由器,打印机等。 
    2 网络协议:计算机之间的交流的方式。人和人之间使用语言交流,计算机之间的交流方式或者语言方式就是网络协议 
    3 Internet:提供了www服务,FTP(文件传输)服务,E-mail服务,Telnet(远程登陆)服务。

    3 OSI模型

    TCP/IP协议:问题来了,比如说上海人之间使用上海话交流,广东人之间使用粤语交流,那么上海人和广东人之间使用什么交流呢?答案自然是普通话。同样的一个网络使用A协议,一个网络使用B协议沟通,那么这两个网络之间怎么交流,答案就是TCP/IP协议。 
    比如说手机产生之初,每一个人的手机型号,品牌可能不相同,因此充电器也是不相同。你的手机没电了一般不可能使用我的充电器,到了最后,标准出来了,使用同样的USB接口,这样就解决了。网络之间也是这样的。为了解决网络之间的便利通讯,OSI标准出来了,open system interConnection。下面我们看看OSI的七层模型。 

    当上帝未揭开人类的未来图景之前,人类最伟大的智慧存在于两个词中,“等待”和“希望”
  • 相关阅读:
    BestCoder17 1001.Chessboard(hdu 5100) 解题报告
    codeforces 485A.Factory 解题报告
    codeforces 485B Valuable Resources 解题报告
    BestCoder16 1002.Revenge of LIS II(hdu 5087) 解题报告
    codeforces 374A Inna and Pink Pony 解题报告
    codeforces 483B Friends and Presents 解题报告
    BestCoder15 1002.Instruction(hdu 5083) 解题报告
    codeforces 483C.Diverse Permutation 解题报告
    codeforces 483A. Counterexample 解题报告
    NSArray中地内存管理 理解
  • 原文地址:https://www.cnblogs.com/gosaint/p/8242153.html
Copyright © 2011-2022 走看看