美文网首页程序员
java网络编程(一)

java网络编程(一)

作者: RoundYuan | 来源:发表于2019-01-09 22:34 被阅读11次

java网络编程(一)

  RMI(远程方法调用)

RMI概要:

RMI 远程方法调用是计算机之间通过网络实现对象调用的一种通讯机制。

过去,TCP/IP通讯是远程通讯的主要手段,面向过程的开发。
而RPC使程序员更容易地调用远程程序,但在面对复杂的信息传讯时,RPC依然
未能很好的支持,RMI被设计成面向对象开发模式,允许程序员使用远程对象来实现通信

RMI远程调用步骤:

1,客户调用客户端辅助对象stub上的方法

2,客户端辅助对象stub打包调用信息(变量,方法名),通过网络发送给服务端辅助对象skeleton

3,服务端辅助对象skeleton将客户端辅助对象发送来的信息解包,找出真正被调用的方法以及该方法所在对象

4,调用真正服务对象上的真正方法,并将结果返回给服务端辅助对象skeleton

5,服务端辅助对象将结果打包,发送给客户端辅助对象stub

6,客户端辅助对象将返回值解包,返回给调用者

7,客户获得返回值

代码实现:

1、制作远程接口:接口文件 (返回的参数必须是可序列化的)

2、远程接口的实现:Service文件

3、RMI服务端注册,开启服务

4、RMI代理端通过RMI查询到服务端,建立联系,通过接口调用远程方法

MyRemote.java 1

public interface MyRemote extends Remote{
    public String sayHello() throws RemoteException;
}

MyRemoteImpl 2,3

public class MyRemoteImpl extends UnicastRemoteObject implements MyRemote {
    protected MyRemoteImpl() throws RemoteException {
        super();
    }

    @Override
    public String sayHello() throws RemoteException {
        return "HelloWord";
    }

    public static void main(String[] args) {

        try {
            MyRemote service = new MyRemoteImpl();
            LocateRegistry.createRegistry(6600);
            Naming.rebind("rmi://localhost:6600/RemoteHello", service);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println(e.toString());
        }
    }
}

MyRemoteClient.java 4

public class MyRemoteClient {
    public static void main(String[] args) {

        new MyRemoteClient().go();
    }

    public void go()
    {
        try {
            MyRemote service=(MyRemote) Naming.lookup("rmi://127.0.0.1:6600/RemoteHello");
            String s=service.sayHello();
            System.out.println(s);

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

相关文章

  • Java网络编程(第四版) PDF 超清版

    《Java网络编程(第四版)》是一本关于Java编程相关的电子书资源,介绍了关于Java、网络编程、Java编程方...

  • Android应用开发:网络编程2

    网络编程 Java基础:网络编程 Uri、URL、UriMatcher、ContentUris详解 Android...

  • Http协议

    网络编程 Java基础:网络编程 Uri、URL、UriMatcher、ContentUris详解 Android...

  • IO编程

    一、Java网络编程 https://www.runoob.com/java/java-networking.ht...

  • Chapter 12 . 网络编程

    阅读原文 Chapter 12 . 网络编程 12.1网络编程概述 • Java是 Internet ...

  • 《Netty实战》读书笔记01——第一章

    第 1 章 笔记 Java 网络编程 早期Java的网络编程,需要学习很多C语言套接字(Socket)的知识,但...

  • Java NIO

    书本 Netty权威指南netty实战O’Reilly的《Java nio》Unix网络编程 《unix网络编程》...

  • java网络编程(一)

    对一个文件的读取工作New 一个FileReader类首先顶一个已有的读取文件,然后利用读取一行的类实现读取有内容...

  • java网络编程(一)

    java网络编程(一) RMI概要: RMI 远程方法调用是计算机之间通过网络实现对象调用的一种通讯机制。 过去,...

  • Java网络编程

    Java 网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。 java.net...

网友评论

    本文标题:java网络编程(一)

    本文链接:https://www.haomeiwen.com/subject/vsmnrqtx.html