Отправка нескольких переменных от клиента к серверу через сокет - PullRequest
1 голос
/ 26 февраля 2012

Недавно я узнал о сокетах в 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

Ответы [ 3 ]

2 голосов
/ 26 февраля 2012

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

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

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

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

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

2 голосов
/ 26 февраля 2012

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

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

2 голосов
/ 26 февраля 2012

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

String name = is.readLine();
String password = is.readLine();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...