| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Работа с сетью > ObjectInputStream - программа виснет |
| Автор: sith 30.3.2007, 23:19 | ||
| При запуске следующего кода... дальше строки с инициализацией inObj прога не идет... и дебагером бился... и головой ... ничерта не пойму... ... ни каких сообщений... искючений... ничего нет... тишина... в чем подвох... хелп ми!!!
|
| Автор: nornad 30.3.2007, 23:56 |
| Попробуй взять эти две строки в отдельный catch и ловить Throwable. Подозреваю, что у тебя это дело происходит в отдельном потоке и исключительная ситуация просто вылетает на самый верх потока без обработки (сам с таким столкнулся недавно). |
| Автор: sith 31.3.2007, 10:07 |
| nornad, брал этот код в блок try/catch ничего не выдает... ...LSD моя прога обращаеться к моему же серверу находящемуся на локалхосте... почему должны быть такие задержки... причем если я использую потоки PrintWriter/BufferedRеadеr для записи чтения то все работает нормально... но мне нужно серверу обьекты передавать... Добавлено через 11 минут и 44 секунды для переменной inObj в дебагере выводиться сообщение >No current context (stack frame)< |
| Автор: LSD 31.3.2007, 13:09 | ||||
Замени:
на
и посмотри в каком именно место произойдет зависание. |
| Автор: AxNe0 1.4.2007, 10:07 | ||
sith, я думаю, у тебя проблема в следующем: при инициализации
программа "зависает" в ожидании входящих даных, при этом никакого исключения не происходит. Поэтому посмотри, чтобы ты вовремя посылал данные на сокет с сервера и вовремя инициализировал входящий поток (думаю, лучше инициализировать непосредственно перед считыванием) |
| Автор: sith 1.4.2007, 20:16 |
| LSD, почитав немногол итературы... мой гинеальный до безумности разум сделал так как ты написал... заработало... теперь мучаюсь над другой проблемкой... когда ее очертания очертяться... выложу... а пока всем большое спасибо за теплоту и поддрежку... |
| Автор: LSD 1.4.2007, 21:26 |
| Эээ... Ты просто разделил получение InputStream и создание ObjectInputStream и у тебя все заработало? |
| Автор: sith 2.4.2007, 11:58 | ||||
| Да простые обьекты типа String передаються и востанавливаються нормально возникла проблема с передачей собственных обьектов классов... ... клиент отправляет следующие...
на сервере следующий код
... при работе сервер выдает ошибку... java.lang.ClassNotFoundException: simpletalkclient.Message at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at simpletalkserver.ClientThread.run(ClientThread.java:55) ... почему... вроде правильно я сделал привидение типа... ... вообще суть должна быть таковой... клиент передает обьект серверу... тот его получает... читает поля спомощь внутренних методов getXXX ну и выполняет соответсвующие действия... |
| Автор: LSD 2.4.2007, 12:03 | ||
А в CLASSPATH сервера, класс simpletalkclient.Message присутвует?
отрабатывает без ошибок? |
| Автор: sith 2.4.2007, 13:01 | ||
| где и как нужно прописать CLASSPATH сервера... я разрабатываю в нет бинсе... ... куда эту строку вставлять...
|
| Автор: LSD 2.4.2007, 13:22 | ||
Зависит от твоей структуры проекта. Если ты и клиент и сервер разрабатываешь в одном и том же проекте и одном том же модуле, то с CLASSPATH у тебя все нормально. Вставь первой строкой в main сервера. |
| Автор: sith 2.4.2007, 14:33 |
| нет... это два разных проекта... |
| Автор: LSD 2.4.2007, 14:55 |
| Тогда тебе надо те классы которые ты собираешься передать по сети, упаковать в jar и подключить как библиотеку к обоим проектам. |
| Автор: sith 2.4.2007, 15:49 |
| ... так и сделал... заработало... сенкс... |