Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ПРИЛОЖЕНИЕ 3. Исходный код сервера приложения 2
package primer_2; import java.net.*; import java.io.*; public class ServerForm extends java.awt.Frame implements Runnable { public final static int PORT = 220; Socket sock = null; BufferedReader in = null; FileWriter fw = null; BufferedWriter out = null; Thread t = new Thread(this); /** Создаем новое окно сервера */ public ServerForm() { 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(); setTitle("Server"); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { exitForm(evt); } }); setLayout(null); add(list1); list1.setBounds(30, 90, 160, 150); add(textField1); textField1.setBounds(30, 50, 160, 20); button1.setLabel("Send"); button1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { button1ActionPerformed(evt); } }); add(button1); button1.setBounds(240, 50, 110, 24); button2.setLabel("Connect"); button2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { button2ActionPerformed(evt); } }); add(button2); button2.setBounds(250, 200, 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(250, 150, 100, 24); setBounds(500, 500, 400, 300); } /** Завершение приложения */ private void exitForm(java.awt.event.WindowEvent evt) { System.exit(0); } private void button1ActionPerformed(java.awt.event.ActionEvent evt) { // Получаем строку от пользователя и передаем клиенту try{ String data = textField1.getText(); out.write(data); out.newLine(); out.flush(); } catch(Exception e){} } private void button2ActionPerformed(java.awt.event.ActionEvent evt) { // Устанавливаем соединение connect(); } private void button3ActionPerformed(java.awt.event.ActionEvent evt) { // Закрываем файл данных, потоки и соединение try { fw.close(); in.close(); out.close(); sock.close(); } catch(Exception e){} } public void run(){ String indata_; try { //Читаем в цикле данные while(true) { indata_ = in.readLine(); //Отображаем в компоненте list1.add(indata_); //Записываем в файл fw.write(indata_); } } catch(Exception e){} } public void connect() { try { //Создаем серверный сокет ServerSocket ss = new ServerSocket(PORT); sock = ss.accept(); //Получаем потоки in = new BufferedReader(new InputStreamReader(sock.getInputStream())); out = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream())); //Запускаем подпроцесс t.start(); //Открываем файл данных fw = new FileWriter("messageServ.txt"); } catch (Exception ex) { System.out.println(" ошибка "); } } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new ServerForm().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 }
|
1 |
Оглавление
|