2012-02-26 2 views
1

Недавно я узнал о сокетах на Java и отправлял информацию от клиента к серверу через сокеты. Что я хочу достичь - это отправить «имя пользователя» и «пароль» с клиента на сервер, а затем проверить эти переменные на данные в базе данных.Отправка нескольких переменных с клиента на сервер через сокет

Каким будет способ отправки значений этих двух отдельных значений на сервер, чтобы он мог быть проверен на стороне сервера?

стороне клиента

clientSocket = new Socket("192.168.56.1", 7777); 

     in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 
     out = new PrintWriter(clientSocket.getOutputStream(), true); 


    //starting the thread 
    while(runner == null) 
    { 
     runner = new Thread(this); 

     runner.start(); 
    } 
} 
public void run() 
{ 
    String userNameAdminLogin; 
    String passwordAdminLogin; 
    while(runner == Thread.currentThread()) 
    { 
     userNameAdminLogin = txtUserName.getText(); 
     passwordAdminLogin = txtPassword.getText(); 

     out.println(userNameAdminLogin); 
     out.println(passwordAdminLogin); 
    } 

стороне сервера

while(listening) 
      { 
       clientSocket = ServerSoc.accept(); 


       in = new DataInputStream(clientSocket.getInputStream()); 

       BufferedReader is = new BufferedReader(new InputStreamReader(in)); 

       os = new PrintStream(clientSocket.getOutputStream()); 

       //How can I save the two seperate cases of data in variables on server side? 
       System.out.println(is.readLine()); 

      } 

сердечным приветом

Arian

ответ

2

Если вы пишете две строки с одной стороны, вы должны, очевидно, читали две строки с другой стороны:

String name = is.readLine(); 
String password = is.readLine(); 
2

У вас может быть объект, у которого есть имя пользователя и пароль в качестве его атрибутов.

Сериализовать объект, а затем отправить его.

class User implements Serializable { 
String userName ; 
String Password ; 
... 
} 

Теперь используйте ObjectInput/OutputStream для чтения объектов/записи

Обратитесь к этому для получения дополнительной информации - http://www.coderanch.com/t/205325/sockets/java/send-any-java-Object-through

2

если вы используете ObjectOutputStream вы можете написать целые объекты.

Эти объекты должны быть сериализуемыми