|
|
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
Добрый день. В целях самообразования написал консольной чат на сокетах, клиенты могут конектится к серверу и переписыватся, но есть пара нюансов. 1) Если пишеш первое сообщение, то оно никому не приходит. Дальше рассылка сообщений идет нормально. 2) Из кирилицой проблемы, сообщения отправляет из задержкой, и в виде иероглифов. Сам сервер: Здесь происходит создание потоков для каждого клиента Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Клас которой сохраняет в listSocket сылки на все сокеты, которые есть на даный момент. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Реалезация действий сокета Код: 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. --------------------------------------------------------------------------------------------------- Клиент: Здесь идет коннект к серверу и создается поток на прослушывание и отправление даных. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Поток, который считывает входные даные. Код: 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. Поток читает ввод из клавиатуры и отсылает на сервер. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 11:18:56 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
Сами коды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 11:21:31 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
автор Из кирилицой проблемы. Однозначно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 11:23:20 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
denis11111Сами коды Машинные? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 14:29:42 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
Большой Синий Китdenis11111Сами коды Машинные? :) Типа такие) 1001100 1001111 1001100 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 14:54:17 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
Оффтоп: Сделайте чат на мультикаст-юдп сокетах. Это когда любой пишет и любой, подконнектишився, читает. ПС. Пара строк для клиента и десяток для сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 15:08:39 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
Если судить по коду, то клиенты у вас вообще общаются в обход сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 15:12:01 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
schwaЕсли судить по коду, то клиенты у вас вообще общаются в обход сервера. так. извиняюсь. перепутал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 15:15:16 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
Проверил. На одной машине все замечательно работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 15:31:25 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
schwaПроверил. На одной машине все замечательно работает. А в меня первое(не важно с какого клиента) сообщение не доходит. И руские буквы не отображает. Например пишет клиент 1: "Привет" У клиент 2 пусто... тогда клиент 2 тоже пишет "Привет, я клиент 2" и только тогда ему приходит от клиент 1 типа такое "??????". Из англ. буквами такого нету. Думал фича консоли, а нет, System.out.println("Привет"), выводит нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 15:50:48 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
Так все работает, но с кодировкой проблемы есть все равно (и лучше на это забить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 16:19:55 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
schwaТак все работает, но с кодировкой проблемы есть все равно (и лучше на это забить). А почему лучше забить? Мне кажется это важно... Оказывается что руские буквы приходят из консоли уже в плохой кодировке, зделал так : Код: java 1. Не помогло, если зделать Код: java 1. 2. то все равно возвращает квадратики. Я здалал маленикий пример: Код: java 1. 2. 3. 4. 5. 6. Здесь из рускими буквами все в порядке. Вобщем я сошол с ума. Два одинаковых кода работают по разному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2012, 13:25:41 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
denis11111schwaТак все работает, но с кодировкой проблемы есть все равно (и лучше на это забить). А почему лучше забить? Мне кажется это важно... Исходная кодировка неизвестна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2012, 13:42:05 |
|
||
|
Простой консольной чат на сокетах
|
|||
|---|---|---|---|
|
#18+
Текстовая консоль операционки и аналогичная в IDE могут работать в разных кодировках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2012, 13:42:36 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37892425&tid=2131268]: |
0ms |
get settings: |
13ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
54ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 299ms |
| total: | 508ms |

| 0 / 0 |
