|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.05.2012, 17:21 | #1 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 25
|
счетчик букв
Программа сервера:
import java.io.*;//импорт каталога, содержащего классы для ввода/вывода import java.net.*;//импорт каталога, содержащего классы для работы в сети Интернет public class server {//описание класса server public static void main(String[] arg) {//создание метода main, без которого Java-//интерпретатор не запустит класс, с входным параметром с именем args, который //является массивом объектов - представителей класса String. ServerSocket serverSocket = null;//объявляется объект класса ServerSocket Socket clientAccepted = null;//объявляется объект класса Socket ObjectInputStream sois = null;//объявляется байтовый поток ввода ObjectOutputStream soos = null;//объявляетя байтовый поток вывода try {//ключевое слово механизма обработки исключений System.out.println("server starting....");//вывод строки на консоль serverSocket = new ServerSocket(2525);//создание сокета сервера для //заданного порта clientAccepted = serverSocket.accept();//выполнение метода, которое //обеспечивает реальное подключение сервера к клиенту System.out.println("connection established....");//вывод строки на //консоль sois = new ObjectInputStream(clientAccepted.ge tInputStream());//создание потока ввода soos = new ObjectOutputStream(clientAccepted.g etOutputStream());//создание потока вывода String clientMessageRecieved = (String)sois.readObject();//объявляется //строка и ей присваиваются данные потока ввода, представленные ввиде строки //(передано клиентом) while(!clientMessageRecieved.equals ("quite"))//выполнение цикла: пока //строка не будет равна "quite" { System.out.println("message recieved: '"+clientMessageRecieved+"'");//выведение на консоль строки и значения строковой //переменной clientMessageRecieved = clientMessageRecieved.toUpperCase() ;//приведение символов строки к верхнему реестру soos.writeObject(clientMessageRecie ved);//потоку вывода //присваивается значение строковой переменной (передается клиенту) clientMessageRecieved = (String)sois.readObject();//строке //присваиваются данные потока ввода, представленные ввиде строки (передано клиентом) } }catch(Exception e) {//обработка исключения типа Exception } finally {//исключение передается умалчиваемому обработчику try {//ключевое слово механизма обработки исключений sois.close();//закрывается поток ввода soos.close();//закрывается поток вывода clientAccepted.close();//закрывается сокет serverSocket.close();//происходит отключение сервера от //клиента } catch(Exception e) {//обработка исключения типа Exception e.printStackTrace();//вызывается метод исключения е } } } } Программа клиента: import java.io.*;//импорт каталога, содержащего классы для ввода/вывода import java.net.*;//импорт каталога, содержащего классы для работы в сети Интернет public class client {//описание класса client public static void main(String[] arg) {//создание метода main, без которого Java-//интерпретатор не запустит класс, с входным параметром с именем args, который //является массивом объектов - представителей класса String. try {//ключевое слово механизма обработки исключений System.out.println("server connecting....");//вывод строки на консоль Socket clientSocket = new Socket("127.0.0.1",2525);//установление //соединения между локальной машиной и указанным портом узла Интернет System.out.println("connection established....");//вывод строки на //консоль BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));//создание буферизированного символьного потока ввода ObjectOutputStream coos = new ObjectOutputStream(clientSocket.get OutputStream());//создание потока вывода ObjectInputStream cois = new ObjectInputStream(clientSocket.getI nputStream());//создание потока ввода System.out.println("Enter any string to send to server \n\t('quite' - programme terminate)");//выод строки на консоль String clientMessage = stdin.readLine();//ввод текста с клавиатуры System.out.println("you've entered: "+clientMessage);//вывод на консоль //строки и значения строковой переменной while(!clientMessage.equals("quite" )) {//выполнение цикла, пока строка //не будет равна "quite" coos.writeObject(clientMessage);//потоку вывода присваивается //значение строковой переменной (передается серверу) System.out.println("~server~: "+cois.readObject());//выводится на //экран содержимое потока ввода (переданное сервером) .out.println("---------------------------");//выводится на //консоль clientMessage = stdin.readLine();//ввод текста с клавиатуры System.out.println("you've entered: "+clientMessage);//вывод на //консоль строки и значения строкой переменной } coos.close();//закрытие потока вывода cois.close();//закрытие потока ввода clientSocket.close();//закрытие сокетного соединения }catch(Exception e) {//обработка исключения типа Exception e.printStackTrace();}}} |
24.05.2012, 17:22 | #2 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 25
|
вот моя программа в которую надо добавить функцию для счетчика букв... Суть в том, чтобы на клиентской части вводилась строка и передавалась серверу, а тот в свою очередь осуществлял подсчет гласных и согласных букв и возвращает этот результат клиенту.
Что нужно сделать , чтобы сервер считал буквы и результат отправлял клиенту... |
24.05.2012, 23:20 | #3 |
Пользователь
Регистрация: 02.11.2011
Сообщений: 29
|
Пример сервера на основе твоего кода на скорую руку
Код:
|
26.05.2012, 01:19 | #4 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 25
|
запускаю сервер и у меня выводит ошибку
Error: Could not find or load main class abc.server |
26.05.2012, 01:54 | #5 |
Пользователь
Регистрация: 02.11.2011
Сообщений: 29
|
ну это скорее всего из за того, что я делал пример в пакете c названием abc
Просто не подумал что могут возникнуть с этим недопонимание Убери из начала кода строчку с названием пакета Код:
|
26.05.2012, 02:43 | #6 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 25
|
такая же ошибка и вот еще кое что написано было
C:\Users\Desktop\1\Server.java:4: error: class server is public, should be declared in a file named server.java public class server {//описание класса server ^ 1 error Process completed. |
26.05.2012, 11:47 | #7 |
Пользователь
Регистрация: 02.11.2011
Сообщений: 29
|
То просто в свою рабочую версию вставь функцию
Код:
Код:
Код:
на тему твоей ошибки - Class Server является открытым, должен быть объявлен в файле с именем server.java Очивидно ты закинул мой код в файл, который отличается названием от server.java Название файла обязательно должно соответствовать названию класса. Например: class Test - test.java или class Server - server.java PS. Если бы ты пользовался одной из сред разработки, то таких бы проблем у тебя стало бы меньше Последний раз редактировалось it-webwork; 26.05.2012 в 11:51. |
27.05.2012, 20:55 | #8 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 25
|
а какой Eclipce лучше скачать???
|
27.05.2012, 22:55 | #9 |
Пользователь
Регистрация: 02.11.2011
Сообщений: 29
|
Если честно, то я сильно не разбирался в этом вопросе. Лично я взял обычный Eclipse Classic сборки Helios
Скачать можно отсюда http://www.eclipse.org/downloads/pac...ase/helios/sr2 Уже пользуюсь больше года. Можно доставить нужные компоненты. Например инструменты разработки под Android. Есть конечно еще с визуальным построением форм NetBeans IDE, но мне она не очень понравилась. Но как говорят - на вкус и цвет ... |
28.05.2012, 00:40 | #10 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 25
|
спасибо большое!!! все получилось)))))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определите сколько слов заданного текста составлено из букв русского алфавита, а сколько из букв латинского алфавита. Слова, в кот | potemos | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 18.04.2012 13:14 |
счетчик | TotKtoNado | Компоненты Delphi | 10 | 26.02.2011 22:47 |
Подсчитать количество букв "А" в предложении и общее количество букв.В тексте из файла несколько строк. | kvas91 | Общие вопросы C/C++ | 3 | 14.11.2010 16:51 |
Счетчик | Alex_sim | Помощь студентам | 2 | 13.06.2010 04:30 |