Главная > Программирования сетевых взаимодействий в Java
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ПРИЛОЖЕНИЕ 2. Исходный код клиента приложения 2

package primer_2;

import java.net.*;

import java.io.*;

public class ClientForm extends java.awt.Frame implements Runnable{

Thread process1 = new Thread(this);

BufferedReader in = null;

BufferedWriter out = null;

FileWriter fw = null;

Socket ss = null;

/** Создаем новое окно клиента */

public ClientForm() {

    initComponents();

}

private void initComponents() {

    list1 = new java.awt.List();

    textField1 = new java.awt.TextField();

    button1 = new java.awt.Button();

    button2 = new java.awt.Button();

    button3 = new java.awt.Button();

    setName("Client");

    setTitle("Client");

    addWindowListener(new java.awt.event.WindowAdapter() {

        public void windowClosing(java.awt.event.WindowEvent evt) {

            exitForm(evt);

        }

    });

    setLayout(null);

    add(list1);

    list1.setBounds(30, 110, 170, 170);

    add(textField1);

    textField1.setBounds(30, 70, 170, 20);

    button1.setActionCommand("button3");

    button1.setLabel("Connect");

    button1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {

            button1ActionPerformed(evt);

        }

    });

    add(button1);

    button1.setBounds(260, 250, 100, 24);

    button2.setLabel("Send");

    button2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {

            button2ActionPerformed(evt);

        }

    });

    add(button2);

    button2.setBounds(250, 70, 110, 24);

    button3.setLabel("Close");

    button3.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {

            button3ActionPerformed(evt);

        }

    });

    add(button3);

    button3.setBounds(260, 200, 90, 24);

    setBounds(200, 200, 408, 338);

}

/** Выход из приложения */

private void exitForm(java.awt.event.WindowEvent evt) {

    System.exit(0);

}

private void button1ActionPerformed(java.awt.event.ActionEvent evt) { // Устанавливаем соединение с с хостом connect();

}

private void button2ActionPerformed(java.awt.event.ActionEvent evt) {

// Получаем строку от пользователя и пересылаем серверу

try{

    String data = textField1.getText();

    out.write(data);

    out.newLine();

    out.flush();

}

catch(Exception e){}

}

private void button3ActionPerformed(java.awt.event.ActionEvent evt) {

// Закрываем файл, потоки и соединение

try {

    fw.close();

    in.close();

    out.close();

    ss.close();

}

catch(Exception e){}

}

public void run() {

String s1;

try{

    //В цикле читаем данные из потока

    while(true) {

        s1 = in.readLine();

        //Отображаем в компоненте

        list1.add(s1);

        //Записываем в файл

        fw.write(s1);

    }

}

catch(Exception e){}

}

public void connect() {

try {

    //Устанавливаем соединение с локальным хостом

    InetAddress addr = InetAddress.getLocalHost();

    ss = new Socket(addr, 220);

    //Получаем потоки ввода_вывода

    in = new BufferedReader(new InputStreamReader(ss.getInputStream()));

    out = new BufferedWriter(new OutputStreamWriter(ss.getOutputStream()));

    //Запускаем новый подпроцесс

    process1.start();

    //Открываем файл

    fw = new FileWriter("messageCli.txt");

}

catch(Exception e){

    System.out.println(" ошибка ");

}

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

    public void run() {

        new ClientForm().setVisible(true);

    }

});

}

// Variables declaration - do not modify

private java.awt.Button button1;

private java.awt.Button button2;

private java.awt.Button button3;

private java.awt.List list1;

private java.awt.TextField textField1;

// End of variables declaration

}

Categories

1
email@scask.ru