информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медЗа кого нас держат?Портрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Странно 24.08.02 23:50  Число просмотров: 1224
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
Обычно вопросы задаются по теме которую хоть немного знаешь. В случае если произошел затык.
А твой вопрос стоит так: "Люди напишите или дайте мне написанную прогу !"

А теперь по существу.
Каждый экземпляр твоей программы должен иметь как серверную часть, так и клиентскую.
Серверная часть пишится с помощью ф-ий: socket, bind, listen, accept (именно в таком порядке) . Клиентская с помощью ф-ий socket, connect.
Далее и там и там можно воспользоваться ф-ями recv, send.

Что бы не замарачиваться с поиском в сети других экземпляров на каждой машине имей файл с IP адрессами машин, где может быть запущенна прога. Если connect отвалится, значит в данный момент прога не работает.

При посылке пакетов первыми двумя байтами посылай размер оставшегося пакета. Тогда ты сможешь написать:
recv( s, &size, 2 );
recv( s, buf, size);
Это избавит тебя от лишних наворотов.

Не забывай пользоватся htons когда будешь ставить port.

Серверная и клиентская часть в разных потоках.

Ну вроде бы все. Дальше сам ;)
<programming>
Про сетевое программирование в С++ 24.08.02 01:47  
Автор: vagrant Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Подскажите, где лучше почитать про создание сетевых приложений. Нужно написать учебную игрушку для сети - типа несколько однотипных приложений обмениваются информацией, причем не слишком интенсивно. Нужно, чтобы экземпляры программы обнаруживали друг друга в сети и все такое.
Может кто книжку хорошую знает, или ресурс адекватный?
Про сетевое программирование в С++ 30.08.02 16:35  
Автор: SINоptiK Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Подскажите, где лучше почитать про создание сетевых
> приложений. Нужно написать учебную игрушку для сети - типа
> несколько однотипных приложений обмениваются информацией,
> причем не слишком интенсивно. Нужно, чтобы экземпляры
> программы обнаруживали друг друга в сети и все такое.
> Может кто книжку хорошую знает, или ресурс адекватный?
есть одна хорошая книгулина называется "Эффективное программирование TCP/IP", cоветую , издательство "ПИТЕР" можно заказать наверна на www.piter.com



http://www.piter.com
Про сетевое программирование в С++ 24.08.02 08:35  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка>
Изучай сокеты, и сам до всего додумаешся
Про сетевое программирование в С++ 24.08.02 19:34  
Автор: vagrant Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Ясный перец, что додумаюсь! Просто времени нет все с самого начала раскапывать.
Помню, только начинал писать моделирующие программы под Windows, никак не мог найти, куда в обычном приложении можно встраивать поток вычислений. Всякие знатоки советовали делать это через таймер... блин.!
Пока сам не протрассировал виндузовую программу и не понял, что нужно заменить MessageLoop, никто не подсказал.
Недавно решил перейти на Borland Builder, там MessageLoop нет. Спрашиваю в форуме по билдеру, что делать? Опять отвечают какую-то хрень. Пока сам не додумался сделать вычисления в отдельном потоке, нигде ничего не мог найти.
С сокетами небось тоже неделю рабочего времени проваландаешься, пока выяснишь, что из этого нужно. Вот и хочется воспользоваться плодами человеческой мысли...
Если они есть.
Странно 24.08.02 23:50  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
Обычно вопросы задаются по теме которую хоть немного знаешь. В случае если произошел затык.
А твой вопрос стоит так: "Люди напишите или дайте мне написанную прогу !"

А теперь по существу.
Каждый экземпляр твоей программы должен иметь как серверную часть, так и клиентскую.
Серверная часть пишится с помощью ф-ий: socket, bind, listen, accept (именно в таком порядке) . Клиентская с помощью ф-ий socket, connect.
Далее и там и там можно воспользоваться ф-ями recv, send.

Что бы не замарачиваться с поиском в сети других экземпляров на каждой машине имей файл с IP адрессами машин, где может быть запущенна прога. Если connect отвалится, значит в данный момент прога не работает.

При посылке пакетов первыми двумя байтами посылай размер оставшегося пакета. Тогда ты сможешь написать:
recv( s, &size, 2 );
recv( s, buf, size);
Это избавит тебя от лишних наворотов.

Не забывай пользоватся htons когда будешь ставить port.

Серверная и клиентская часть в разных потоках.

Ну вроде бы все. Дальше сам ;)
Про сетевое программирование в С++ 24.08.02 20:00  
Автор: Killer{R} Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> С сокетами небось тоже неделю рабочего времени
> проваландаешься, пока выяснишь, что из этого нужно. Вот и
> хочется воспользоваться плодами человеческой мысли...
Открой стандартные экзамплы тогоже билдера. Там чат есть.
Спасибо Killer и PS! Это по делу. 29.08.02 00:41  
Автор: vagrant Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Chat - это то что надо.
А на счет "знаешь хоть что-то" мне кажется PS не прав - когда четко понимаешь за что зацепиться, уже легче. Вот хотя бы имена функций, с которыми нужно работать ты написал, с этого места можно уже всю тему через хелпы раскрутить. Собственно, тот кусочек текста, который ты написал, и есть хороший ответ на мой вопрос.

1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach