Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Небольшая проблемка...

4.3K
27 января 2006 года
DeFaCe
45 / / 28.08.2005
Расскажу небольшую историю.
ЧАСТЬ1. Задался я задачкой написать небольшую прогу для отпраки сообщений по сети. Сразу возник ВОПРОС №1, который я хочу задать вам: может я зря мучаюсь, и есть какая-нибудь одна единственная функция для отправки сообщений по параметру - ip-адресу? Я порыскал в литературе, не нашёл, поэтому стал искать другие пути...
ЧАСТЬ2. Решил использовать команду комадной строки (сори за тофтологию...) NET SEND [ip] [сообщ]. Для этого в Билдере создал Edit1 и переменную char* msg. Считываю:
 
Код:
msg=Edit1->Text.c_str();
Например я хочу посать введённое сообщения на 10.0.0.1. Я делаю так: создаю переменную char* message и:
 
Код:
char* message=strcat("NET SEND 10.0.0.1 ", msg);
Всё получается отлично, сообщение передаётся, но возникает ВОПРОС №2: почему сообщение выводится 2 раза?
ЧАСТЬ3. Последней моей задачей было модификация этой программы до такой, чтобы она могла посылать сообщения не только на заданный мною IP, но и на любой введённый пользователем. Вот так делаю я: создаю переменные char* ip, char* temp1 и char* temp2, затем...
 
Код:
ip = Edit2->Text.c_str();
        msg = Edit1->Text.c_str();
        temp1 = strcat("NET SEND ",ip);
        temp2 = strcat(temp1, " ");
        message = strcat(temp2, msg);
        system(message);

Возникает ВОПРОС №3: почему когда я нажимаю кнопку посыла сообщения (весь этот код написан в функции-обработчике), появляется окно командной строки, но через несколько мили-секунд исчезает (успеваю заментить, что выводится ошибка в синтаксисе команды), и почему когда я нажимаю подряд раз 3-4, пояявляется ошибка об отказе в доступе к памяти.
-----------------------------------------------------
Знающие люди, пожалуйста ответьте на мои вопросы. Заранее очень сильно благодарен. СПАСИБО!
1
27 января 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by DeFaCe
Расскажу небольшую историю.


Не могу писать - слезы душат и капают от такой истории :)
Могу только посоветовать зайти в $BCB\Examples\FastNet\ - я думаю там найдется чем развеять твою грусть.
Если же по каким либо причинам эта папка - я имею ввиду Examples - для тебя недоступна - то решается тоже просто - ввести в гугле "рассылка сообщений по сети".

Цитата:
Originally posted by DeFaCe
Я порыскал в литературе, не нашёл, поэтому стал искать другие пути...



З.Ы. Интересно в какой литературе это ты рыскал? Колобок что ли перечитывал :)

247
31 января 2006 года
wanja
1.2K / / 03.02.2003
Цитата:
Originally posted by DeFaCe
:
 
Код:
msg=Edit1->Text.c_str();


Так писать нехорошо, кстати. Сделал бы, что ли strcpy().

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог