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的七层模型。 

    当上帝未揭开人类的未来图景之前,人类最伟大的智慧存在于两个词中,“等待”和“希望”
  • 相关阅读:
    STL常用容器☞String容器
    初识STL
    函数模板
    多态
    运算符重载
    友元
    对象的初始化和清理
    C++内存分区模型
    传值和传地址
    const的使用
  • 原文地址:https://www.cnblogs.com/gosaint/p/8242153.html
Copyright © 2011-2022 走看看