Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чат на сокетах 
:(
    Опции темы
MastEdm
Дата 26.5.2006, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Master
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 3.12.2005
Где: Москва, МГИУ

Репутация: нет
Всего: 2



Значит задача такая: необходимо реализовать простейший чат на сокетах на С. То, что нужно использовать неблокирующие сокеты, это я уже понял, а вот что дальше? Там ведь тогда будет сложно отслеживать новых клиентов. Может у кого есть соображения по этому поводу?

И ещё вопрос: какие подводные камни могут быть в такой реализации? Может какие тонкости работы с сокетами...  

Это сообщение отредактировал(а) MastEdm - 26.5.2006, 23:49
PM MAIL   Вверх
bilbobagginz
Дата 29.5.2006, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



во-первых, твой аватар, это уже аватар одного пользователя по имени Антон Сабуров ( если не ошибся )
во-вторых, судя по огромному количеству такого рода программ, тебе нужно их сорс скачать и проанализировать, желательно поконтактировать с разработчиками, и спросить о проблемах которые они хотели решить, к-рые НЕ хотели решить и к-рые не смогли решить.
в общем, гугл - наш рулевой.

подводных камней - уйма, но все имеют решения. 
поэтому изобретать велосипед - не советую.

а когда будут конкретные вопросы, чего-то не работает и т.д. заходи... smile 


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
MastEdm
Дата 1.6.2006, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Master
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 3.12.2005
Где: Москва, МГИУ

Репутация: нет
Всего: 2



Хорошо, аватарку сменил... 
По поводу программ: уже много чего видел, правда, это много мне не совсем нравится... Но основные идеи уже почерпал, что-то сам придумал (может правда не совсем оптимальное)... А вопросы будут, если что-то не заладится...  

Это сообщение отредактировал(а) MastEdm - 1.6.2006, 00:03
PM MAIL   Вверх
bilbobagginz
Дата 1.6.2006, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



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


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
MastEdm
Дата 1.6.2006, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Master
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 3.12.2005
Где: Москва, МГИУ

Репутация: нет
Всего: 2



Вопрос 1.
Сервер и клиент общаются через порт (3000). Почему программка
Код

nc -l -p 3000

не отображает данные, которые проходят через этот порт?

Вопрос 2.
Как лучше организовать работу с кольцевым буфером? Все сообщения кладём в буфер, затем рассылаем их по очереди. Как это лучше реализовать?   

Это сообщение отредактировал(а) MastEdm - 1.6.2006, 17:54
PM MAIL   Вверх
ptr
Дата 3.6.2006, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: нет
Всего: 14



Цитата(MastEdm @ 1.6.2006,  17:53)
Вопрос 1.
Сервер и клиент общаются через порт (3000). Почему программка
Код

nc -l -p 3000

не отображает данные, которые проходят через этот порт?

Потому что надо
Код

nc -l 3000. 

 

Это сообщение отредактировал(а) ptr - 3.6.2006, 17:03


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
MastEdm
Дата 3.6.2006, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Master
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 3.12.2005
Где: Москва, МГИУ

Репутация: нет
Всего: 2



А почему? Ведь вот такая комбинация работает:
Код

nc -l -p 3000

и
Код

nc localhost 3000
 
PM MAIL   Вверх
bilbobagginz
Дата 4.6.2006, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



nc - если он сервер - только отображает то что к нему приходит.
Код

nc -l -p 3000 

пытается слушать на всех интерфейсах. возможно на одном из них либо нет разрешения либо уже порт 3000  используется другой программой.
правильнее всегда указывать адрес, на к-ром неткот должен слушать, напр.:
Код

nc -l 3000 124.123.122.222  


пока.

 


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
MastEdm
Дата 12.6.2006, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Master
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 3.12.2005
Где: Москва, МГИУ

Репутация: нет
Всего: 2



Всё, написал и сдал на отлично. Спасибо за поддержку!

PS А вот netcat так и не научился пользоваться, пришлось свою прогу писать  smile  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0702 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.