|
0 / 0 / 0
Регистрация: 01.07.2009
Сообщений: 75
|
|
Вызов серверного сокета в клиентском08.08.2009, 15:38. Показов 1929. Ответов 13
Метки нет (Все метки)
Мой серверный сокет помещен по следующему адресу http://321.32.321.32/~account/Server.class.
Что следует написать для его вызова в клиентском сокете вместо 'Тут.Мой.Сервер.Здесь': socket = new Socket('Тут.Мой.Сервер.Здесь', 1234); ? Как тяжко. Сервер, ау-у-у!
0
|
|
| 08.08.2009, 15:38 | |
|
Ответы с готовыми решениями:
13
Создание Серверного Сокета Вызов контекстного серверного метода формы Копирование сокета или передача сокета в функцию |
|
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
||||||
| 08.08.2009, 20:12 | ||||||
|
физическое положение на сервере тут не будет играть роли, если это просто обычный ява класс. тогда на сервере ты должен каким-то чудом/образом его запустить и там должны быть строки:
второй вариант - если это сервлет. тогда там все по-другому на сервере, но кажется, это не то, что тебе сейчас нужно. почитай внимательно доку на java.net.Socket , в частности методы типа setDoOutput(...);
0
|
||||||
|
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
|
| 08.08.2009, 20:14 | |
|
чтобы сильно не заморачиваться, тестируй у себя на своей машине и юзай 127.0.0.1
0
|
|
|
0 / 0 / 0
Регистрация: 01.07.2009
Сообщений: 75
|
|
| 09.08.2009, 01:38 [ТС] | |
|
Так на локальной станции у меня всё почти готово!
Именно поэтому я решил опробовать это дело в реальном режиме: зарегистрировал сайт в далеке-долёком, помещу теперь туда свой сервер-класс и буду его вызывать из своего клиента прямо из дома... Но дело на самом деле серьезное. Ведь на локалхосте сервер- и клиент-класс я вызываю из консоли-канифоли, методом 'майна-майна'. Как же мне запустить мой сервер на удаленном хосте? Убрать Main() из класса вообще? К слову пришлось, вы - г-н mr_dronski, может быть скажите почему всегда по-разному инициируют Main()? Иногда пишут так (String args[])? А иногда вот так (String[] args)? Спасибо.
0
|
|
|
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
|
| 09.08.2009, 02:23 | |
|
если у тебя не будет прямого доступа к окружению сервера через telnet/SSH, то ты никак не запустишь свой класс там (если даже ява там и есть, в чем я сомневаюсь). итог - тебе нужны сервлеты.
а про то, как писать - и так, и так можно. я предпочитаю описывать массив возле типа, а не имени - так можно слева направо читать строку как 'массив стрингов с именем х' : String[] x
0
|
|
|
0 / 0 / 0
Регистрация: 01.07.2009
Сообщений: 75
|
|
| 09.08.2009, 02:46 [ТС] | |
|
Надо-надо нырять в сервлеты.
Или, может, в JSP? В доках пишут, что JSP реализуют функциональность сервлетов. Значит ли это, что TCP/IP потоковые сокеты можно также делать в JSP?
0
|
|
|
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
|
| 09.08.2009, 03:35 | |
|
там немного другая концепция. скорее всего, ты доберешься до HttpURLConnection и будешь писать туда так же, как и в сокет (по сути, это и будет сокет, но с 'навешенной' логикой).
сервлет будет это дело обрабатывать в одном из методов doGet/doPost и читать как поток. в общем, представь, что ты аплоадишь графический файл на сервер. главное - стандартизировать протокол между клиентом и сервером, что ты и в каком порядке будешь слать, в каком формате. ЖСП именно этот вариант плохо реализует, так что не мучайся - время сэкономишь. а для презентационной логики не сильно увлекайся включением ява кода в ЖСП - это очень плохо. сразу ориентируйся в будущем на таги и JSTL (где книжки классные скачать (англ), подскажем - я посмотрел, чел толково объясняет и проблем у тебя не будет). надеюсь, сслылку на сановский туториал по сервлетам найдешь? лучшего искать особо и не нужно.
0
|
|
|
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
|
| 09.08.2009, 03:37 | |
|
блин, ну че я сегодня по 2 раза постинги шлю?
))перефразирую себя - сервлеты для логики (сокеты туда же) ЖСП - для веб страничек и берут информацию, которую подготавливают сервлеты. так работают серьезные проекты. на этапе обучения ты нередко увидишь немного другую модель - но это только на этапе обучения
0
|
|
|
0 / 0 / 0
Регистрация: 02.01.2009
Сообщений: 134
|
|
| 09.08.2009, 09:45 | |
|
Что такое JSTL?
0
|
|
|
0 / 0 / 0
Регистрация: 01.07.2009
Сообщений: 75
|
||||||
| 09.08.2009, 15:18 [ТС] | ||||||
|
Не удалось откомпилировать сервлет.
Очень странно. А вот классы апплетов и приложений спокойно делаются! В командной строке набирал: d:>j2sdk1.4.2injavac d:javaclassesEnterServlet.java. Получил 11 ошибок (!). Ужас. ||||||||||||||||Код очень простой||||||||||||||||||||
0
|
||||||
|
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
|
|
| 09.08.2009, 16:04 | |
|
А если так
javac -classpath %J2EE_HOME%/lib/j2ee.jar d:javaclassesEnterServlet.java ? )
0
|
|
|
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
|
| 09.08.2009, 16:52 | |
|
JSTL:
http://java.sun.com/webservices/docs/ea2/tutorial/doc/JSTL.html http://java.sun.com/products/jsp/jstl/ http://jcp.org/aboutJava/communityprocess/final/jsr052/ еще на jboss.ru найдете книжку 'JSTL in action' - рекомендую. это то, как _нужно_ писать ЖСП
0
|
|
|
0 / 0 / 0
Регистрация: 01.07.2009
Сообщений: 75
|
||||||
| 14.08.2009, 02:03 [ТС] | ||||||
|
2mr_dronski.
А сервлет не может реализовать TCP/IP соединение? Что-то вроде такого вообще возможно:
0
|
||||||
|
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
|
| 14.08.2009, 02:40 | |
|
на самом деле это уже реализовано сервером. сервлет - всего лишь абстракция, до которой это соединение в конце концов доходит. поэтому, вы не открываете серверный сокет в сервлете - за вас он уже был открыт, обработан, и осталось только написать логику приложения, чего же со всеми данными делать. поэтому вы делаете не serverSocket.getInputStream(), а request.getInputStream() (serverSocket.getOutputStream() - response.getOutputStream() соответственно).
приведенный выше код отработает, но смысла в нем - ноль.
0
|
|
| 14.08.2009, 02:40 | |
|
Помогаю со студенческими работами здесь
14
Авторизация в клиентском приложении Удаление из БД в клиентском приложении Запуск приложения на клиентском компьютере Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|