Передать некоторые данные функции, находящейся в отдельном хедер-файле

Рейтинг: 0Ответов: 3Опубликовано: 28.04.2011

На самом деле, давно озадачился и сейчас уже мозг себе поломал - поэтому туго соображаю и прошу помощи. Есть проект один. Допустим, в Unit1.cpp. Создал отдельно header-файл sendrec.h, в который записал функцию отправки команды на сервер. Функция должна запускаться по таймеру раз в секунду:

#ifndef sendrecH
#define sendrecH

void sendCMD()
{
    WSADATA wsd;
    if (WSAStartup(MAKEWORD(2,2), &wsd)!=0)
    {
       ShowMessage("Ошибка старта сокета");
    }
    else   
    {        
       SOCKET S;
       struct sockaddr_in servaddr;
       S=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
       servaddr.sin_family=AF_INET;
       servaddr.sin_port=htons(SERVPORT);
       servaddr.sin_addr.s_addr=inet_addr(SERVIP); 

       char *buf = "\xff\xff\xff\xff getstatus";
       sendto(S,buf,strlen(buf),0,(SOCKADDR *) & servaddr, sizeof (servaddr));
       }
}

#endif

Вопрос #1: Как этой функции передать из Unit1.cpp SERVPORT и SERVIP? Пробовал через глобальные переменные, но не получилось что-то. Если прямо тут в функции написать ip и порт, то всё работает без проблем.
Вопрос #2: Будет еще одна функция такая же, но в скобках будет дописана команда sendCMD(char * command). Собственно, насколько это грамотно/неграмотно хранить такие вот функции, немаленькие даже, в header-файле? Пробовал делать cpp-шку с таким же названием, в хедер-файле указал заголовки функций, но компилятор написал что-то типа "функции пустые". А так не ругается ни на что.

Ответы

Ответов пока нет.