Re[7]: Вызов connect(),send() и прочая из DLL
От: quolian  
Дата: 17.07.08 08:12
Оценка:
Здравствуйте, Stuw, Вы писали:

S>Если есть возможность выложи исходники, я у себя попробую проверить.



__declspec(dllexport) SRVRETCODE __cdecl SendSignal( SRV_PROC* params )
{
            char host[256];
    char port_tmp[5];
    char msg[256];
    int port  = 0 , len = 0;

    memset(host,0,sizeof(host));
    memset(port_tmp,0,sizeof(port_tmp));
    memset(msg,0,sizeof(msg));

    memcpy(host,srv_paramdata(params, 1),srv_paramlen(params, 1));
    memcpy(port_tmp,srv_paramdata(params, 2),srv_paramlen(params, 2));
    port = atoi(port_tmp);
    memcpy(msg,srv_paramdata(params, 3),srv_paramlen(params, 3));
    len = srv_paramlen(params, 3);

//----------------------
  WSADATA wsaData;
  int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
  SOCKET ConnectSocket;
  ConnectSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  if (ConnectSocket == INVALID_SOCKET) {
    WSACleanup();
    return -1;
  }

  sockaddr_in clientService; 
  clientService.sin_family = AF_INET;
  clientService.sin_addr.s_addr = inet_addr( host );
  clientService.sin_port = htons( port );

  if ( connect( ConnectSocket, (SOCKADDR*) &clientService, sizeof(clientService) ) == SOCKET_ERROR) {
    WSACleanup();
    return -1;
  }
  send(ConnectSocket , "preved!" , 8 , 0 );
  WSACleanup();
  return 1;
}


в общем вот такая эксортируемая функция. DLL подвешивается к sql серверу, который вызывает эту функцию
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.