На компьютере имеется lan и несколько dailup соединений.
Нужно программно создавать сокет так чтобы он коннектился в одном случае используя dialup, а во втором lan.
Это можно сделать ?
Здравствуйте, Ardim, Вы писали:
A>На компьютере имеется lan и несколько dailup соединений.
A>Нужно программно создавать сокет так чтобы он коннектился в одном случае используя dialup, а во втором lan.
A>Это можно сделать ?
Вот так можно определить тип интерфейса:
#include <iostream>
#include <windows.h>
#include <iphlpapi.h>
#pragma comment (lib, "iphlpapi")
#pragma comment (lib, "ws2_32")
int main (void)
{
using std::cout;
using std::endl;
char* buf = 0;
PIP_ADAPTER_INFO pAdaptersInfo;
DWORD dwSize = 0, dwIndex;
GetAdaptersInfo (0, &dwSize);
buf = new char[dwSize];
if (!buf) return -1;
pAdaptersInfo = reinterpret_cast<PIP_ADAPTER_INFO>(buf);
if (GetAdaptersInfo (pAdaptersInfo, &dwSize) == ERROR_SUCCESS){
while (pAdaptersInfo){
cout<< "Name: " << pAdaptersInfo->AdapterName << endl
<< "Description: " << pAdaptersInfo->Description << endl
<< "Index: " << pAdaptersInfo->Index << endl
<< "Type: ";
switch (pAdaptersInfo->Type){
case MIB_IF_TYPE_OTHER: cout << ":hz:" << endl; break;
case MIB_IF_TYPE_ETHERNET: cout << "Ethernet" << endl; break;
case MIB_IF_TYPE_TOKENRING: cout << "Token Ring" << endl; break;
case MIB_IF_TYPE_FDDI: cout << "FDDI" << endl; break;
case MIB_IF_TYPE_PPP: cout << "PPP" << endl; break;
case MIB_IF_TYPE_SLIP: cout << "SLIP" << endl;
}
pAdaptersInfo = pAdaptersInfo->Next;
cout << endl;
}
}
delete[] buf;
return 0;
}