Форум программистов, компьютерный форум, киберфорум
Java: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для kestugar
9 / 9 / 6
Регистрация: 15.05.2010
Сообщений: 184
1

Создать сервер и графический интерфейс клиента, для передачи сообщений

30.04.2011, 23:15. Показов 2682. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать сервер и графический интерфейс клиента, для передачи сообщений.
Все работает, только отправляет почемуто не больше 2-х строк.

Клиент:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
package Int1;
 
import java.awt.*;
import java.awt.event.*;
import borland.jbcl.control.*;
import borland.jbcl.layout.*;
import java.util.*;
import com.sun.java.swing.*;
import java.net.*;
import java.io.*;
 
public class Frame1 extends DecoratedFrame {
 
  //Construct the frame
  BorderLayout borderLayout1 = new BorderLayout();
  XYLayout xYLayout2 = new XYLayout();
  BevelPanel bevelPanel1 = new BevelPanel();
  ButtonControl buttonControl1 = new ButtonControl();
  ButtonControl buttonControl2 = new ButtonControl();
  ButtonControl buttonControl3 = new ButtonControl();
  ButtonControl buttonControl4 = new ButtonControl();
  ChoiceControl choiceControl1 = new ChoiceControl();
  TextAreaControl textAreaControl1 = new TextAreaControl();
  TextAreaControl textAreaControl2 = new TextAreaControl();
  TextFieldControl textFieldControl1 = new TextFieldControl();
  LabelControl labelControl1 = new LabelControl();
  LabelControl labelControl2 = new LabelControl();
  LabelControl labelControl3 = new LabelControl();
 
  Socket s;
 
  InputStream is;
  OutputStream os;
 
  public Frame1() {
    try  {
      jbInit();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
//Component initialization
  
  private void jbInit() throws Exception  {
    this.setLayout(borderLayout1);
    this.setSize(new Dimension(585, 574));
    this.setTitle("Frame Title");
    buttonControl1.setLabel("Connect");
    buttonControl1.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(MouseEvent e) {
        buttonControl1_mouseClicked(e);
      }
    });
    buttonControl2.setLabel("Disconnect");
    buttonControl2.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        buttonControl2_actionPerformed(e);
      }
    });
    buttonControl3.setLabel("SEND");
    buttonControl3.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        buttonControl3_actionPerformed(e);
      }
    });
    buttonControl4.setLabel("Reciev");
    choiceControl1.setItems(new String[] {"172.16.18.14", "localhost"});
    buttonControl4.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        buttonControl4_actionPerformed(e);
      }
    });
    labelControl1.setText("IP adress");
    labelControl2.setText("Sending messages");
    labelControl3.setText("Recieved messages");
    bevelPanel1.setLayout(xYLayout2);
    this.add(bevelPanel1, BorderLayout.CENTER);
    bevelPanel1.add(buttonControl1, new XYConstraints(382, 13, 173, 54));
    bevelPanel1.add(buttonControl2, new XYConstraints(380, 83, 175, 60));
    bevelPanel1.add(buttonControl3, new XYConstraints(382, 238, 174, 49));
    bevelPanel1.add(buttonControl4, new XYConstraints(391, 400, 162, 54));
    bevelPanel1.add(choiceControl1, new XYConstraints(7, 30, 237, -1));
    bevelPanel1.add(textAreaControl1, new XYConstraints(2, 144, 349, 143));
    bevelPanel1.add(textAreaControl2, new XYConstraints(3, 349, 348, 172));
    bevelPanel1.add(textFieldControl1, new XYConstraints(6, 55, 345, 65));
    bevelPanel1.add(labelControl1, new XYConstraints(7, 2, -1, -1));
    bevelPanel1.add(labelControl2, new XYConstraints(4, 123, -1, -1));
    bevelPanel1.add(labelControl3, new XYConstraints(7, 308, -1, -1));
  }
 
  void buttonControl1_mouseClicked(MouseEvent e) {
  String adress;
    adress = choiceControl1.getSelectedItem();
 
    buttonControl2.setEnabled(true);
  try
    {
    String str;
    String str1;
 
    int len1, len;
 
    s = new Socket(adress,9999);
 
    byte buf[] = new byte[512];
    byte buf1[] = new byte[512];
 
    is = s.getInputStream();
    os = s.getOutputStream();
 
    str = "Server is found" ;
    len1 = str.length();
    buf1 = str.getBytes();
    os.write(buf,0,len1);
    len = is.read(buf);
    textFieldControl1.setText(">>" + str);
    buttonControl2.enable();
    buttonControl2.setEnabled(true);
    buttonControl1.disable();
    buttonControl1.setEnabled(false);
    buttonControl3.enable(true);
 
    }
    catch(Exception ioe)
    {
    }}
 
 
  void buttonControl2_actionPerformed(ActionEvent e) {
    try {
    is.close();
    os.close();
    s.close();
    }
    catch(Exception ioe){}
    }
 
 
  void buttonControl3_actionPerformed(ActionEvent e) {
    byte buf3[] = new byte[512];
    int len3, l, i;
 
  try{
 
  String str = textAreaControl1.getText();
  StringTokenizer st;
  st = new StringTokenizer(str, "\r\n");
  l = st.countTokens();
  for (i=0;i!=l;i++)
  {
  str = new String((String)st.nextElement());
  str=str +'\n';
  len3 = str.length();
  buf3 = str.getBytes();
  os.write(buf3,0,len3);
  }
  os.flush();
  textAreaControl1.setText("");
  len3 = is.read(buf3);
  if(len3!=1)
  textFieldControl1.setText("Connection");
  //os.write(buf3,0,len3);
  os.flush();
  }
  catch(Exception ioe){}
  }
 
  void buttonControl4_actionPerformed(ActionEvent e) {
  try{
  byte buf2[] = new byte[512];
  int len2;
  len2 = is.read(buf2);
  String latter = new String(buf2,0,len2);
  textAreaControl2.setText(latter);
  }
  catch(Exception ioe){}
  }
 
  }
Сервер:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package SocketClient1;
 
import java.io.*;
import java.net.*;
import java.util.*;
public class SocetServ
 
 {
  public static void main(String args[])
  {
   byte bKbdInput[] = new byte[256];
   ServerSocket ss;
   Socket s;
   InputStream is;
   OutputStream os;
   try
   {
     System.out.println(
     "Socket Server Application");
   }
   catch (Exception ioe)
   {
     System.out.println(ioe.toString());
   }
   try
   {
    ss = new ServerSocket (9999);
    s = ss.accept();
    is = s.getInputStream();
    os = s.getOutputStream();
    byte buf[] = new byte[512];
    int lenght;
    while(true)
    {
     lenght = is.read(buf);
     if(lenght == -1)
      break;
     String str = new String(buf, 0);
     StringTokenizer st;
     st = new StringTokenizer(
       str,"\r\n");
     str = new String(
      (String)st.nextElement());
     System.out.println("> " + str);
     os.write(buf, 0, lenght);
     os.flush();
    }
    is.close();
    os.close();
    s.close();
    ss.close();
   }
   catch(Exception ioe)
   {
     System.out.println(ioe.toString());
   }
   try
   {
     System.out.println(
       "Press <Enter> to terminate application...");
     System.in.read(bKbdInput);
   }
   catch(Exception ioe)
   {
     System.out.println(ioe.toString());
   }
 }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.04.2011, 23:15
Ответы с готовыми решениями:

Создать 2 клиента для передачи текста
нужно создать 2 клиента (типо открыть приложение с двух компов) и что бы можно было передаватть...

Создать графический интерфейс для программы
Написали с руководителем программу на языке python, запускается через функцию в терминале, с вводом...

Как создать графический интерфейс для приложения
Здравствуйте! Недавно закончил написание программы на Си, но у неё нет графического интерфейса....

Создать графический интерфейс для данной программы (GUI)
//A class describes the attributes and behaviors of an object. class testBook { // instance...

1
 Аватар для kestugar
9 / 9 / 6
Регистрация: 15.05.2010
Сообщений: 184
02.05.2011, 21:13  [ТС] 2
если это что-то даст, то я программировал на jbuilder
0
02.05.2011, 21:13
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.05.2011, 21:13
Помогаю со студенческими работами здесь

Извечная тема передачи файлов с клиента на сервер
Доброе время суток. Передо мной стоит задача передачи на сервер pdf-файлов с компьютера клиента....

Создать графический интерфейс (GUI) для игры "Крестики-нолики"
#include &lt;stdio.h&gt; #include &lt;string.h&gt; char board={}; void clearscreen(void){ for(int i =...

Создать графический интерфейс
Подскажите пожалуйста, как создать самый примитивный графический интерфей во Flash, чтоб там был...

Создать графический интерфейс QT C++
#include &lt;QCoreApplication&gt; #include &lt;iostream&gt; using namespace std; class String { public:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Откуда у float лишние цифры в конце дробной части. Представление чисел с плавающей точкой
bytestream 25.01.2025
При разработке программного обеспечения часто возникает необходимость работать с вещественными числами, которые содержат дробную часть. В современных компьютерных системах такие числа представляются. . .
Как использовать глобальную переменную в функции в Python
bytestream 25.01.2025
В программировании на Python глобальные переменные представляют собой особый тип переменных, которые доступны для использования во всех частях программы, включая различные функции, классы и модули. . . .
Как в цикле обойти все элементы map в Java
bytestream 25.01.2025
В разработке на Java одной из наиболее востребованных структур данных является интерфейс Map, который предоставляет эффективный способ хранения и управления парами "ключ-значение". Разработчики. . .
Для чего нужен UserManager.isU­serAGoat(­) в Android и как это использовать
bytestream 25.01.2025
В мире Android-разработки существует множество интересных и порой загадочных функций, о которых знают далеко не все разработчики. Одной из таких функций является метод UserManager. isUserAGoat(),. . .
Как обойти масси в JavaScript. Всё о циклах
bytestream 25.01.2025
JavaScript представляет собой мощный язык программирования, широко используемый в веб-разработке, где массивы и циклы являются фундаментальными концепциями для эффективной работы с данными. Массив в. . .
Как сделать, чтобы существующая ветка отслеживала удалённую в Git. Связывание локальных и удалённых веток
bytestream 25.01.2025
В разработке программного обеспечения системы контроля версий стали неотъемлемой частью процесса создания качественного программного продукта. Эти инструменты позволяют разработчикам эффективно. . .
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru