| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Чат на сокетах |
| Автор: MastEdm 26.5.2006, 23:45 |
| Значит задача такая: необходимо реализовать простейший чат на сокетах на С. То, что нужно использовать неблокирующие сокеты, это я уже понял, а вот что дальше? Там ведь тогда будет сложно отслеживать новых клиентов. Может у кого есть соображения по этому поводу? И ещё вопрос: какие подводные камни могут быть в такой реализации? Может какие тонкости работы с сокетами... |
| Автор: bilbobagginz 29.5.2006, 10:49 |
| во-первых, твой аватар, это уже аватар одного пользователя по имени Антон Сабуров ( если не ошибся ) во-вторых, судя по огромному количеству такого рода программ, тебе нужно их сорс скачать и проанализировать, желательно поконтактировать с разработчиками, и спросить о проблемах которые они хотели решить, к-рые НЕ хотели решить и к-рые не смогли решить. в общем, гугл - наш рулевой. подводных камней - уйма, но все имеют решения. поэтому изобретать велосипед - не советую. а когда будут конкретные вопросы, чего-то не работает и т.д. заходи... |
| Автор: MastEdm 1.6.2006, 00:03 |
| Хорошо, аватарку сменил... По поводу программ: уже много чего видел, правда, это много мне не совсем нравится... Но основные идеи уже почерпал, что-то сам придумал (может правда не совсем оптимальное)... А вопросы будут, если что-то не заладится... |
| Автор: bilbobagginz 1.6.2006, 01:16 |
| тебя интересует транспортный отдел, а не отделочный. т.е. тебя интересуют части передачи информации, синхронизация и т.д. можешь воспользоваться какой библиотекой групповой коммуникации ( если тебе нужна связь только во внутренней сети. там уже можно и многовещательные способы связи заюзать |
| Автор: MastEdm 1.6.2006, 17:53 | ||
| Вопрос 1. Сервер и клиент общаются через порт (3000). Почему программка
не отображает данные, которые проходят через этот порт? Вопрос 2. Как лучше организовать работу с кольцевым буфером? Все сообщения кладём в буфер, затем рассылаем их по очереди. Как это лучше реализовать? |
| Автор: ptr 3.6.2006, 17:02 | ||||||
Потому что надо
|
| Автор: MastEdm 3.6.2006, 20:58 | ||||
А почему? Ведь вот такая комбинация работает:
и
|
| Автор: bilbobagginz 4.6.2006, 00:03 | ||||
nc - если он сервер - только отображает то что к нему приходит.
пытается слушать на всех интерфейсах. возможно на одном из них либо нет разрешения либо уже порт 3000 используется другой программой. правильнее всегда указывать адрес, на к-ром неткот должен слушать, напр.:
пока. |
| Автор: MastEdm 12.6.2006, 10:05 |
| Всё, написал и сдал на отлично. Спасибо за поддержку! PS А вот netcat так и не научился пользоваться, пришлось свою прогу писать |