Здравствуйте, 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 серверу, который вызывает эту функцию