21

Re: Сервер на java

P.Y. написав:
Zolin_777 написав:
koala написав:

А у вас який IP? Хоча б перші два числа?

192.168. і так далі, в мене він змінюється

Як правило, такі адреси використовуються в локальній мережі (внутрішня ІР-адреса) — відповідно, користувачі інших провайдерів вас не побачать. Треба, щоб провайдер вам видав постійну зовнішню ІР-адресу (якщо він надає таку послугу).

ну і , напевне, щоб роутер перенаправляв по порту , на якому ведеться чат, запити на комп у внутрішній мережі, який приймає чат.

First, solve the problem. Then, write the code. (c)JJ
Подякували: Zolin_7771

22

Re: Сервер на java

Використовуйте JSON, який буде містити адресата та повідомлення.Сервер має приймати повідомлення та послідовно розподіляти їх по адресатам.Пошук сервера у локалці можна зробити через UDP broadcast.

23

Re: Сервер на java

P.Y. написав:
Zolin_777 написав:
koala написав:

А у вас який IP? Хоча б перші два числа?

192.168. і так далі, в мене він змінюється

Як правило, такі адреси використовуються в локальній мережі (внутрішня ІР-адреса) — відповідно, користувачі інших провайдерів вас не побачать. Треба, щоб провайдер вам видав постійну зовнішню ІР-адресу (якщо він надає таку послугу).

А якщо використати InetAddress думаю він для цього і призначений, я так розумію він використовує IP компютера в інтернеті, не можеш бути щоб два компа мали один ip, як думаєте?

Балаканина нічого не варта. Покажіть мені код.

24 Востаннє редагувалося fed_lviv (20.11.2017 10:15:54)

Re: Сервер на java

Zolin_777 написав:

А якщо використати InetAddress думаю він для цього і призначений, я так розумію він використовує IP компютера в інтернеті, не можеш бути щоб два компа мали один ip, як думаєте?

*FACEPALM*
Все що Вам потрібно це серверна та клієнтська частини. В них використовувати Socket та багатопоточність. А далі просто в налаштуваннях програмок (чи в самому коді) змінювати IP та порт.
Чи то зовнішній IP чи внутрішній від цього код не зміниться. Можна тестувати в себе на ПК запустити декілька клієнтів, можна в локальній мережі з IP 19......., можна, якщо є бажання і можливість замовити в провайдера зовнішній IP. АЛЕ КОД ОДИН ДЛЯ ВСІХ.

Подякували: leofun011

25

Re: Сервер на java

fed_lviv написав:
Zolin_777 написав:

А якщо використати InetAddress думаю він для цього і призначений, я так розумію він використовує IP компютера в інтернеті, не можеш бути щоб два компа мали один ip, як думаєте?

*FACEPALM*
Все що Вам потрібно це серверна та клієнтська частини. В них використовувати Socket та багатопоточність. А далі просто в налаштуваннях програмок (чи в самому коді) змінювати IP та порт.
Чи то зовнішній IP чи внутрішній від цього код не зміниться. Можна тестувати в себе на ПК запустити декілька клієнтів, можна в локальній мережі з IP 19......., можна, якщо є бажання і можливість замовити в провайдера зовнішній IP. АЛЕ КОД ОДИН ДЛЯ ВСІХ.

та з чатом я біль менш розібрався, але була така проблема що не можу підключитися з другого компютера  а по локалкі все виходить...

Балаканина нічого не варта. Покажіть мені код.

26

Re: Сервер на java

Zolin_777 написав:

та з чатом я біль менш розібрався, але була така проблема що не можу підключитися з другого компютера  а по локалкі все виходить...

Це не проблема, це реальність  :)

Zolin_777 написав:

...а от як написати програму щоб спілкувалися дві реальні людини?...
...Користувач вище вас правильно сказав тільки як це зробити не знаю...
...і замість Т всталяти сокет? добре треба докладніше мені прочитати про arraylist...
...всеодно не пойму як відправляти смс щоб його отримували всі користувачі...
...А якщо використати InetAddress думаю він для цього і призначений...

???
Ну, якщо у Вас дійсно робочий код то і на зовнішньому IP він буде працювати (хіба що малі нюанси, якщо користувач буде через проксі, але то таке). Тому все, що вам потрібно замовити зовнішній IP.

Подякували: Zolin_7771

27

Re: Сервер на java

Спробуйте ще може Netty. Кілька хендлерів і чистий код без тредів, "while true" в вашому коді і т.д.

28

Re: Сервер на java

iovchynnikov написав:

Спробуйте ще може Netty. Кілька хендлерів і чистий код без тредів, "while true" в вашому коді і т.д.

Дякую та я хочу написати свій код, хай він буде як другі, але свій і з мінімумом загадкових методів, хоча почитаю про ваш варіант

Балаканина нічого не варта. Покажіть мені код.

29

Re: Сервер на java

Так де ж мені все таки взяти ip під сервер? а то тільки по локалкі якось не дуже цікаво....

Балаканина нічого не варта. Покажіть мені код.

30

Re: Сервер на java

Zolin_777 написав:
iovchynnikov написав:

Спробуйте ще може Netty. Кілька хендлерів і чистий код без тредів, "while true" в вашому коді і т.д.

Дякую та я хочу написати свій код, хай він буде як другі, але свій і з мінімумом загадкових методів, хоча почитаю про ваш варіант

Та, можливо. Думаю кожен програміст має написати кліент-сервер на plain sockets щоб потім легко орієнтуватися в вищих абстракціях.
Хоч би як, на практиці великі додатки на сокетах залишился лише в legacy коді, так що якщо вас цікавить цей напрямок + Java - Netty Ваш друг :)

Подякували: Zolin_777, leofun012

31

Re: Сервер на java

iovchynnikov написав:
Zolin_777 написав:
iovchynnikov написав:

Спробуйте ще може Netty. Кілька хендлерів і чистий код без тредів, "while true" в вашому коді і т.д.

Дякую та я хочу написати свій код, хай він буде як другі, але свій і з мінімумом загадкових методів, хоча почитаю про ваш варіант

Та, можливо. Думаю кожен програміст має написати кліент-сервер на plain sockets щоб потім легко орієнтуватися в вищих абстракціях.
Хоч би як, на практиці великі додатки на сокетах залишился лише в legacy коді, так що якщо вас цікавить цей напрямок + Java - Netty Ваш друг :)

Саме так, та і я створив цю тему щоб мені допомогли з моїм кодом і проблемою а не дали все готове  :) для чого тоді програмувати як що тільки код готовий копіювати і вставляти. Цікаву тему ви про Netty мені підкинули

Балаканина нічого не варта. Покажіть мені код.

32

Re: Сервер на java

Питання осталось не закритим про те як все таки зробити консольний чат щоб міг підключитися другий користувач... не по локалкі

Балаканина нічого не варта. Покажіть мені код.

33

Re: Сервер на java

Zolin_777 написав:

Питання осталось не закритим про те як все таки зробити консольний чат щоб міг підключитися другий користувач... не по локалкі

Див. вище: якщо провайдер не надає статичного зовнішнього айпішника, то сервер у локалці клієнти за межами локалки не побачать. Тобто, треба або домовлятися з провайдером (якщо це можливо), або орендувати сервер у якогось хостинг-провайдера. Або, можливо, й зовсім змінити архітектуру своєї програми, щоб використовувати UDP (де можливий безпосередній обмін повідомленнями між машинами без зовнішніх ІР-адрес).

py -3 -m pip install git+https://github.com/snoack/python-goto
∩⍴○⌈⍴⍺/∧\∨/⊢○ ⌿⍀⍴⌊

34

Re: Сервер на java

P.Y. написав:
Zolin_777 написав:

Питання осталось не закритим про те як все таки зробити консольний чат щоб міг підключитися другий користувач... не по локалкі

Див. вище: якщо провайдер не надає статичного зовнішнього айпішника, то сервер у локалці клієнти за межами локалки не побачать. Тобто, треба або домовлятися з провайдером (якщо це можливо), або орендувати сервер у якогось хостинг-провайдера. Або, можливо, й зовсім змінити архітектуру своєї програми, щоб використовувати UDP (де можливий безпосередній обмін повідомленнями між машинами без зовнішніх ІР-адрес).

Уже питав київстар такого не робить, а безкоштовно можна якось орендувати, хоча, що за питання, орендувати і безкоштовно взагалі не клеїться.... а якщо я хостинг куплю і там же повинні дати ІП мені чи ні...доречі якщо через inetaddress ставити ip не локальний а той що визначає 2ip.ua то всеодно не працює пише що не можна приєднати до цієї адреси..

Балаканина нічого не варта. Покажіть мені код.

35

Re: Сервер на java

Zolin_777 написав:
P.Y. написав:
Zolin_777 написав:

Питання осталось не закритим про те як все таки зробити консольний чат щоб міг підключитися другий користувач... не по локалкі

Див. вище: якщо провайдер не надає статичного зовнішнього айпішника, то сервер у локалці клієнти за межами локалки не побачать. Тобто, треба або домовлятися з провайдером (якщо це можливо), або орендувати сервер у якогось хостинг-провайдера. Або, можливо, й зовсім змінити архітектуру своєї програми, щоб використовувати UDP (де можливий безпосередній обмін повідомленнями між машинами без зовнішніх ІР-адрес).

Уже питав київстар такого не робить, а безкоштовно можна якось орендувати, хоча, що за питання, орендувати і безкоштовно взагалі не клеїться.... а якщо я хостинг куплю і там же повинні дати ІП мені чи ні...доречі якщо через inetaddress ставити ip не локальний а той що визначає 2ip.ua то всеодно не працює пише що не можна приєднати до цієї адреси..

Можливо не на 100% відповідає темі саме "консольного чату" але дуже просто можливо зробити за допомоги Spring Web Sockets, єдине що, це буде веб-додаток. Як спілкуватись всім в ньому? Треба десь захоститись і все. Так доведеться трохи грошей виласти за якийсь впс, но опеншифті можна покласти проект безкоштовно, або на хєроку, але там на безкоштовних буде тяжко працювати, бо вони засинають якщо неактивні, а просинаються досить довго

Подякували: Zolin_777, leofun012