Olen tässä koittanut saada pientä messenger tyyppistä softaa toimimaan. Lanissa systeemi toimii hienosti mutta, kun kohdekone on NAT:n takana homma tyssää?
Msdn sivuilta löytyy aika hyvät ohjeet mutta siellä vastaan tulee yksi iso MUTTA.
Tuolta löytyy esimerkki, joka tyssää VB.NET:llä kohtaan
'Cocreate and initialize your implementation of the port manager.
Mitenkähän tuo saataisiin tehtyä vb:llä? Ainoa esimerkki mikä löytyi oli tehty c++:lla ja en saanut siitä paljoakaan irti?
Jos joku keksii ratkaisun olisin onnellinen tyyppi taas vähän aikaa :)
Kyllähän tuolla sivulla mielestäni oli VB:lle ratkaisu? Vai tarkoitatako että sen porttaus VB.NET:lle ei onnistu?
Olihan siellä kaikki muu kerrottu VB:lle muttei miten port managerin initialisointi saadaan tehtyä. Siitä löytyy esimerkki Addresmapping kohdasta, mutta se on tehty C++:lla.
En ole saanut sitä onnistumaan vb.net:llä
Hmmm... taitaapi olla niin, että ongelmasi on jossain muualla:
' CoCreate and initialize the RTCClient. ' Cocreate and initialize your implementation of the ' port manager. Set objClientPortManagement = objSession
Tuo koodi juuri initialisoi portti managerin...
Tuossa on esimerkki, jonka löysin msdn:n sivuilta mutta en ole saanut siitä oikein tolkkua.
Jos joku keksis miten se toimisi vb:llä olisi enempi ku hieno juttu
C++ Code Example
HRESULT hr = S_OK;
IRTCPortManager *pPortManager = NULL;
// CoCreate the PortManager.
// Note: Your PortManager implementation might have a different CLSID.
hr = CoCreateInstance(CLSID_MyPortManager,
NULL,
CLSCTX_INPROC_SERVER,
IID_IRTCPortManager,
reinterpret_cast<void **> (&pPortManager));
// If (hr != S_OK), process the error here.
IRTCSession *pIRTCSession = NULL;
IRTCSessionPortManagement *pSessionPortManagement = NULL;
// Query IRTCSession for IRTCSessionPortManagement.
// Note: It is assumed the session has already been created.
hr = pIRTCSession->QueryInterface(IID_IRTCSessionPortManagement,
reinterpret_cast<void **>
(&pSessionPortManagement));
// If (hr != S_OK), process the error here.
// Set the PortManager.
hr = pSessionPortManagement->SetPortManager(pPortManager);
// If (hr != S_OK), process the error here.Aihe on jo aika vanha, joten et voi enää vastata siihen.