• 大小: 13KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-25
  • 语言: 其他
  • 标签: 软件学院  

资源简介

西北工业大学,软件学院,网络与分布计算,Exam2(机试2),Exam 2 分布式消息系统,使用RMI建立一个分布式消息系统。该系统需实现用户注册、查看所有已注册用户信息、给其他用户留言,以及查看其它用户给自己的留言。

资源截图

代码片段和文件信息

import java.io.*;
import java.rmi.*;
import java.util.*;

/**
 * class Client represents a client for the SSD8 Distributed Message
 * Center.
 *
 * @author wben
 * @version 1.0
 *
 */
public class Client {

/**
 * main method
 */
public static void main(String[] args) {

int portNumber = 1099;
String hostname = “localhost“;

BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));

/**
 * Print usage instructions if the incorrect paramteres are supplied.
 */

int choice = 0;
String username password recipientname message;

/**
 * Create the connection to the message center.
 */
MessageInterface mc = null;

try {
mc = (MessageInterface) Naming.lookup(“rmi://“ + hostname + “:1099“  + “/Message“);
} catch (Exception e) {
e.printStackTrace();
}

/**
 * Loop forever while displaying the menu and performing operations for
 * the user.
 */
while (true) {

System.out.println(“********** Distributed Message Center ********** “);
System.out.println(“(1) Show registered users “);
System.out.println(“(2) Register a new user“);
System.out.println(“(3) Check Messages“);
System.out.println(“(4) Leave a message“);
System.out.println(“(5) Exit“);
System.out.println(“************************************************“);
System.out.println(“Enter choice: “);
try {
choice = Integer.parseInt(keyboard.readLine());
} catch (IOException e) {
e.printStackTrace();
}

if (choice == 1) {
try {
String sr = null;
sr =mc.showusers();
System.out.println(sr);

} catch (Exception e) {
e.printStackTrace();
}
}

if (choice == 2) {
try {
System.out.println(“Enter username: “);
username = keyboard.readLine();
System.out.println(“Enter password: “);
password = keyboard.readLine();
if (!mc.register(username password)) {
System.out.println(“Registration failed try another username!“);
} else {
System.out.println(“Registration succeeded!“);
}
} catch (Exception e) {
e.printStackTrace();
}
}

if (choice == 3) {
try {
System.out.println(“Enter username: “);
username = keyboard.readLine();
System.out.println(“Enter password: “);
password = keyboard.readLine();
Vector messages = mc.checkmessages(username password);
if (messages == null) {
System.out.println(“Authentication failed or you have no messages!“);
} else {
System.out.println(“Your messages: “);
for (int i = 0; i < messages.size(); i++) {
System.out.println((Message) messages.get(i));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

if (choice == 4) {
try {
System.out.println(“Enter your username: “);
username = keyboard.readLine();
System.out.println(“Enter your pa

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-12-28 17:32  Exam2\
     文件         302  2019-12-28 15:25  Exam2\.classpath
     文件         379  2019-12-28 15:25  Exam2\.project
     目录           0  2019-12-28 17:32  Exam2\.settings\
     文件         598  2019-12-28 15:25  Exam2\.settings\org.eclipse.jdt.core.prefs
     目录           0  2019-12-28 17:32  Exam2\bin\
     文件        3665  2019-12-28 17:28  Exam2\bin\Client.class
     文件        2051  2019-12-28 15:28  Exam2\bin\Message.class
     文件        3120  2019-12-28 17:31  Exam2\bin\MessageCenter.class
     文件         507  2019-12-28 17:26  Exam2\bin\MessageInterface.class
     文件        1140  2019-12-28 15:59  Exam2\bin\RMIServer.class
     文件        1095  2019-12-28 16:54  Exam2\bin\User.class
     目录           0  2019-12-28 17:32  Exam2\src\
     文件        3504  2019-12-28 17:28  Exam2\src\Client.java
     文件        1953  2019-12-28 15:28  Exam2\src\Message.java
     文件        3128  2019-12-28 17:31  Exam2\src\MessageCenter.java
     文件         913  2019-12-28 17:26  Exam2\src\MessageInterface.java
     文件         651  2019-12-28 15:59  Exam2\src\RMIServer.java
     文件         988  2019-12-28 16:54  Exam2\src\User.java

评论

共有 条评论