【JAVA_RMI】(6)制作命令行导航菜单

【JAVA_RMI】(6)制作命令行导航菜单

算法语言 2年前 (2015-06-12) 浏览: 364 评论: 5

由于在eclipse运行配置里添加运行参数并不方便,建议将调试好的java工程导出为可以运行的jar包,然后在命令行打开jar所在文件夹,使用”java -jar <包名> <main函数参数1 参数2 ……>“,下图的help命令就是main函数执行时的参数数组arg[]的第一个元素arg[0]。参数以空格为分隔符,后面分别是arg[1]、arg[2]。 知道这点,制作java命令行的导航菜单就很简单。为了方便操作,极客人为这次试验还制作了GUI,支持GUI、命令行双界面模式运行应用。命令行的好处可能只有程序员才知道,它最大的好处、个人认为是可以批处理,这是习惯GUI的用户无法理解的。 效果预览: MeetingClient.java 下述代码通过匹配用户输入的main函数参数,分别执行在上一篇文章中定义的方法。其中输入GUI和不输入参数将启动GUI模式。   系列文章链接: SSD8_Ex3【JAVA_RMI服务】(1)概述RMI和网络API SSD8_Ex3【JAVA_RMI】(2)远程接口声明 SSD8_Ex3【JAVA_RMI】(3)开启RMI服务 SSD8_Ex3【JAVA_RMI】(4)会议数据库建表 SSD8_Ex3【JAVA_RMI】(5)数据库连接和会议方法定义 SSD8_Ex3【JAVA_RMI】(6)制作命令行导航菜单  

SSD8_Ex3【JAVA_RMI】(5)数据库连接和会议方法定义

SSD8_Ex3【JAVA_RMI】(5)数据库连接和会议方法定义

算法语言 计算机技术 2年前 (2015-06-12) 浏览: 222 评论: 0

下面的代码是本次实验使用数据库实现RMI会议管理的关键,里面的主要是实现数据库连接和实现相关的查询的方法,这些方法在之前文章的接口代码已经声明,不过没有实质内容。RmiDataBase类继承了meetinginterface接口。 系列文章链接: SSD8_Ex3【JAVA_RMI服务】(1)概述RMI和网络API SSD8_Ex3【JAVA_RMI】(2)远程接口声明 SSD8_Ex3【JAVA_RMI】(3)开启RMI服务 SSD8_Ex3【JAVA_RMI】(4)会议数据库建表 SSD8_Ex3【JAVA_RMI】(5)数据库连接和会议方法定义 SSD8_Ex3【JAVA_RMI】(6)制作命令行导航菜单 RmiDataBase.java     自定义的异常处理类:BYException.java      

SSD8_Ex3【JAVA_RMI】(4)会议数据库建表

SSD8_Ex3【JAVA_RMI】(4)会议数据库建表

技术应用 算法语言 2年前 (2015-06-11) 浏览: 189 评论: 0

为了更好管理会议和更好更有效率执行删除、添加、查询等操作,本次SSD8_Ex3【JAVA_RMI】,极客人结合数据库系统知识,决定采用数据库来管理会议。因为这次练习的各个题目都是典型的数据库题,虽然它被放在了网络与分布式计算课程上。 系列文章链接: SSD8_Ex3【JAVA_RMI服务】(1)概述RMI和网络API SSD8_Ex3【JAVA_RMI】(2)远程接口声明 SSD8_Ex3【JAVA_RMI】(3)开启RMI服务 SSD8_Ex3【JAVA_RMI】(4)会议数据库建表 SSD8_Ex3【JAVA_RMI】(5)数据库连接和会议方法定义 SSD8_Ex3【JAVA_RMI】(6)制作命令行导航菜单   会议数据库rmimeeting建表 数据库名:rmimeeting 建表三项:users(用户),meeting(会议),meetingrecord(会议记录) rmimeetingER图 建表语句  

SSD8_Ex3【JAVA_RMI】(3)开启RMI服务

SSD8_Ex3【JAVA_RMI】(3)开启RMI服务

算法语言 计算机技术 2年前 (2015-06-10) 浏览: 172 评论: 0

这一步骤完成的是创建本地主机上的远程对象注册表Registry的实例,并指定端口为8888,这一步必不可少(Java默认端口是1099),必不可缺的一步,缺少注册表创建,则无法绑定对象到远程注册表上。运行后开启RMI服务,客户端要与服务地址保持一致. 系列文章链接: SSD8_Ex3【JAVA_RMI服务】(1)概述RMI和网络API SSD8_Ex3【JAVA_RMI】(2)远程接口声明 SSD8_Ex3【JAVA_RMI】(3)开启RMI服务 SSD8_Ex3【JAVA_RMI】(4)会议数据库建表 SSD8_Ex3【JAVA_RMI】(5)数据库连接和会议方法定义 SSD8_Ex3【JAVA_RMI】(6)制作命令行导航菜单 MeetingServer.java  

SSD8_Ex3【JAVA_RMI】(2)远程接口声明

SSD8_Ex3【JAVA_RMI】(2)远程接口声明

算法语言 计算机技术 2年前 (2015-06-10) 浏览: 199 评论: 0

系列文章链接: SSD8_Ex3【JAVA_RMI服务】(1)概述RMI和网络API SSD8_Ex3【JAVA_RMI】(2)远程接口声明 SSD8_Ex3【JAVA_RMI】(3)开启RMI服务 SSD8_Ex3【JAVA_RMI】(4)会议数据库建表 SSD8_Ex3【JAVA_RMI】(5)数据库连接和会议方法定义 SSD8_Ex3【JAVA_RMI】(6)制作命令行导航菜单   远程接口声明,这个类服务端和代码和客户端要保持一致。客户端通过调用接口,通过远程对象绑定,在服务器端实现具体方法的内容。接口里只定义了相关方法而没有进行方法实现。 MeetingInterface.java  

SSD8_Ex3【JAVA_RMI服务】(1)概述RMI和网络API

SSD8_Ex3【JAVA_RMI服务】(1)概述RMI和网络API

算法语言 2年前 (2015-06-07) 浏览: 232 评论: 0

RMI和网络API 周末做了网络与分布式系统实验的EX3-java实现RMI分布式议程服务。RMI的全称是“远程方法调用 (Remote Method Invocation)”。下面是极客人的理解:使用RMI远程方法调用,可以实现一个java客户端对java RMI的服务端进行远程调用对方的方法,这些方法在服务器端进行了声明并具体实现,而客户端中只有这些方法的定义而没有方法的内容实现——即一个JAVA接口。没有这些方法实现的JAVA客户端可以通过网络连接获取远程服务器端的对象,然后对远程对象和方法进行调用和操作。也就是说客户端的方法定义在本地,而具体实现却在通过网络连接的"遥远"的服务器上 就极客人目前个人的理解,JAVA RMI除了为客户端省去许多代码,其实还可以为服务器端的数据开放提供另外一种有连接的查询接口,比如现在网络上许多API服务,都是PHP+JSON的形式,通过URL的请求,服务器端查询相关结果后以JSON数据包的形式向客户端返回。这样的数据查询方式现在非常普遍,尤其是微信越来越流行的当下,许多公众号都在采用通过对第三方API返回JSON数据包进行解析,为用户提供天气查询、车票查询、机器人聊天、IP查询、归属地查询等服务。 虽然RMI和JSON-网络API不一样,但是极客人学到RMI就不由自主想到了JSON的网络API。不过两者的不同也显而易见,网络上的JSON-API都是被动接受的,客户端只能向服务器请求数据后服务器返回,而RMI的客户端的权限更大,只要RMI的接口在服务器端有定义,客户端可以主动对服务器进行操作,比如数据库操作:查询数据库,删除数据库记录;运行命令:对服务器进行关机(一个实行远程关机的代码极客人将在本系列文章的最后给出),一般说来,java服务器端程序在本地能做到的一切,都可以通过RMI的方式授权给客户端。 本系列文章主要是通过JAVA RMI实现远程会议管理。分享本次练习的答案不是目的,目的是在此梳理一下这两天的经验方法。 SSD8_EX3问题概述:   这是SSD8练习的Ex3,预计极客人将会写一个系列,更新频率会和NWPU网络与分布式系统实验课2013级进度同步。点击标签或在本站搜索“SSD8”即可获取已更新的SSD8答案。上一练习:SSD8_Exam1【TCP Chat Server】;如果你想继续跟踪SSD练习进展,建议订阅本站。 1) 使用Java RMI创建一个分布式议程共享服务。不同的用户可以使用这个共享议程服务执行查询、添加和删除会议的操作。服务器支持会议的登记和清除等功能; 2) 议程共享服务包括以下功能:用户注册、添加会议、查询会议、删除会议、清除会议; 相关代码和分析将在后续文章中给出。 系列文章链接: SSD8_Ex3【JAVA_RMI服务】(1)概述RMI和网络API SSD8_Ex3【JAVA_RMI】(2)远程接口声明 SSD8_Ex3【JAVA_RMI】(3)开启RMI服务 SSD8_Ex3【JAVA_RMI】(4)会议数据库建表 SSD8_Ex3【JAVA_RMI】(5)数据库连接和会议方法定义 SSD8_Ex3【JAVA_RMI】(6)制作命令行导航菜单  

SSD8_Exam1【TCP Chat Server】

SSD8_Exam1【TCP Chat Server】

算法语言 2年前 (2015-05-29) 浏览: 237 评论: 0

这是SSD8练习的Exam1,预计极客人将会写一个系列,更新频率会和NWPU网络与分布式计算实验课2013级进度同步。点击标签或在本站搜索“SSD8”即可获取已更新的SSD8答案。上一练习:SSD8_EX2【UDP vs TCP】;如果你想继续跟踪SSD练习进展,建议订阅本站。 本次练习采用多线程、TCP通信协议制作一个多人聊天软件,将用户上线下线消息、正常交流信息对所有连接的用户进行广播。极客人的主要思维是建立socket的hashmap,遍历hashmap与众多客户端通信。 一、实验题目 根据题目下文给出的聊天协议列表,使用Java sockets实现一个简单的TCP聊天服务器。该服务器应该具有以下功能: 1. 从每一个客户端(client)读取信息; 2. 能将读取的信息转发给所有客户端; 3. 通过命令行获得端口(port)信息; 4. 监听特定端口(port)的请求信息; 5. 能够处理并发连接,即需要使用多线程来处理每一个连接。 题中已经提供了一个图形化客户端GUIClient.jar。 GUIClient.jar反编译文件在“相关下载中”,这是客户端的源代码 二、Chat Server服务器端代码 Chat Server.java:  

SSD8_EX2【UDP vs TCP】

SSD8_EX2【UDP vs TCP】

计算机技术 2年前 (2015-05-22) 浏览: 241 评论: 4

这是SSD8练习的EX2,预计极客人将会写一个系列,此系列全为王柏元个人原创,更新频率会和NWPU数据库系统实验课2013级进度同步。点击标签或在本站搜索“SSD8”即可获取已更新的SSD8答案。上一练习:SSD8_EX1【Socket通信的Java实现代码】;如果你想继续跟踪SSD练习进展,建议订阅本站。 问题简述 用Java写一个简单的基于C/S(客户机/服务器)模式的数据报(datagram)程序。客户端设置一个计时器,开始计时后,分别利用UDP和TCP协议向服务器发送一个字节的数据包,并等待服务器返回消息。计算平均往返时间,同时计算UDP传输过程中丢包数量并实现丢包重发。 一、用UDP实现丢包重发、丢包计数和传输计时 1.UDP服务端程序UDPServer.java   2.UDP客户端程序UDPClient.java   二、用TCP实现传输计时 1.TCP服务端程序TcpServer.java   2.基于TCP协议的客户端类  

SSD8_EX1【socket通信的java实现代码】

SSD8_EX1【socket通信的java实现代码】

算法语言 计算机技术 软件开发 2年前 (2015-05-17) 浏览: 101 评论: 0

问题概述 实现EchoServer和EchoClient类,其中EchoServer监听某一端口号(启动时,通过参数传入),等待客户端访问;EchoClient根据启动时传入的服务器地址(IP地址或域名)和端口号连接该服务;连接后,读取用户在命令行下的输入,将该输入传输给EchoServer;EchoServer接收后,向EchoClient返回“EchoServer received: ” + 用户输入信息;EchoClient接收到返回信息后输出到命令行,并继续等待用户输入 1、客户端EchoClient.java代码   2、单线程服务器端EchoServer.java代码 3、多线程服务器端代码 ThreadEchoServer.java: Handler.java  

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册