2016-10-16 7 views
0

私は過去2日間これを苦労してきました。TCPクライアントの登録/ハッシュマップを使用したログインjava

私のコンピュータネットワーククラスのためにEclipseにクライアント/サーバーJavaを持っていると思われますが、私たちは決してJavaでコード化されていません。先週、rushlearn javaにちょっと強制されました。コンソールイム上

は書くことsuposed: レジスタまたはログイン私は、それはハッシュマップにユーザー名とパスワードを保存登録等しい場合、文字列の最初の単語をチェックし、それが等しいかどうかを確認ログインすることができますどのように

比較のためのハッシュマップ?

これはこれまでのところ私のコードです:

SERVER:私は今からどのように進めるべき

import java.io.*; 
import java.net.*; 
import java.util.HashMap; 
import java.util.List; 

public class TCPServer { 

    public static void main(String argv[]) throws Exception 
    { 

     String clientSentence; 
     String capitalizedSentence; 

     HashMap<List<String>, List<String>> userMap = new HashMap<List<String>, List<String>>(); 


     ServerSocket welcomeSocket = new ServerSocket(5201); 

     while (true) { 

      Socket connectionSocket = welcomeSocket.accept(); 
      BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); 
      DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream()); 
      clientSentence = inFromClient.readLine(); 

      capitalizedSentence = clientSentence.toUpperCase() + '\n'; 

      outToClient.writeBytes(capitalizedSentence); 


      } 


    } 
} 

CLIENT

import java.io.*; 
import java.net.*; 

public class TCPClient { 


    public static void main(String argv[]) throws Exception 
    { 

     String sentence; 
     String modifiedSentence; 
     BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); 
     Socket clientSocket = new Socket("localhost", 5201); 

     DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); 
     BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 
     sentence = inFromUser.readLine(); 
     outToServer.writeBytes(sentence + '\n'); 

     modifiedSentence = inFromServer.readLine(); 
     System.out.println("FROM SERVER: " + modifiedSentence); 
     inFromUser = new BufferedReader(new InputStreamReader(System.in)); 

     clientSocket.close(); 

    } 
} 

? ありがとうございます

答えて

0

この文は何を理解する必要がありますか?実際には、この関数のパラメータは何をするのか:コンソールで

公共の静的な無効メイン(String []型のargv)

ログイン、ARGVを入力する場合は[0]ログインを持つことになります。 registerと入力すると、argv [0]にはレジスタがあります。

コンソールで、プログラムを実行するときにregister loginを入力すると、argv [0]にはレジスタがあり、arvg [1]にはログインがあります。

ヒント:

if(argv[0].equals("register")){ 
} else if(argv[0].equals("login")){ 
}else{ 
System.out.println("Please enter correct option"); 
System.exit(0); 
} 

だから、あなたがしたい場所にコードを指示することができ、引数に基づきます。

+0

あなたが言ったように私はあなたがしていることをありがとう、ありがとう、結果を投稿します。 –

関連する問題