Het probleem is al volgd:
Wij willen een Corba service via howl (zeroconf) broatcasten over een subnet. Zo hoeft de user alleen nog maar de naam van de server aan te klikken, en hoeft verder niets te weten van adressen en poortnummers.
Nu moet er via howl de IOR (interoperable object reference) doorgegeven worden aan de client, zodat deze de service kan vinden. De IOR is gewoon een string en ziet er als volgt uit:
)
Het ding is altijd rond de 300 karakters groot. En hier is dan ook het probleem: De string die we via howl kunnen verzenden mag maar maximaal 255 karakters lang zijn. Fucked dus...
Maar een oplossing lijkt eenvoudig. Als je naar de string kijkt, dan is deze opgebouwt uit allemaal hex getallen achter elkaar, echter gewoon als karakter weergegeven. De "OIR:" in het begin is ook overbodig, die staat er toch altijd.
Nu is het dus zaak om een manier te vinden om de string te encoden (en natuurlijk te decoden, zodat ie in 255 karakters past. Encoding moet gewoon in C++ of C gebeuren, decoding aan de cleint side in java en Objective C. Moet dus een beetje crosplatform/taal zijn (lijkt me niet zo'n probleem).
Nu is dus de vraag wie een idee heeft hoe je zo'n string het beste zou kunnen coderen?
Men zou gewoon het alfabet kunnen uibreiden, zodat "00" bv "g" wordt e.d, maar dan kan ik net de hele "xx" reeks afdekken. Misshien genoeg om het te laten passen... Zoals je ziet komt er vaak 00 voor. Dat hoeft echter niet altijd zo te zijn (hoewel ik het al heel veel gezien heb)..
Maar misschien hebben jullie wel een beter idee. Alle sugessties zijn welkom
Wij willen een Corba service via howl (zeroconf) broatcasten over een subnet. Zo hoeft de user alleen nog maar de naam van de server aan te klikken, en hoeft verder niets te weten van adressen en poortnummers.
Nu moet er via howl de IOR (interoperable object reference) doorgegeven worden aan de client, zodat deze de service kan vinden. De IOR is gewoon een string en ziet er als volgt uit:
(de enters ff weghalen, is alleen om de layout niet op te fuckenIOR:010000001300000049444c3a48656c6c6f576f726c643a312e
30000002000000000000003f000000010100001d00000064656661696e
742e646565707370616365392e787334616c6c2e6e6c00001f9f1300000
02f383530342f313037393030323038362f5f30000100000024000000010
0000001000000010000001400000001000000010001000000000009010
10000000000
Het ding is altijd rond de 300 karakters groot. En hier is dan ook het probleem: De string die we via howl kunnen verzenden mag maar maximaal 255 karakters lang zijn. Fucked dus...
Maar een oplossing lijkt eenvoudig. Als je naar de string kijkt, dan is deze opgebouwt uit allemaal hex getallen achter elkaar, echter gewoon als karakter weergegeven. De "OIR:" in het begin is ook overbodig, die staat er toch altijd.
Nu is het dus zaak om een manier te vinden om de string te encoden (en natuurlijk te decoden, zodat ie in 255 karakters past. Encoding moet gewoon in C++ of C gebeuren, decoding aan de cleint side in java en Objective C. Moet dus een beetje crosplatform/taal zijn (lijkt me niet zo'n probleem).
Nu is dus de vraag wie een idee heeft hoe je zo'n string het beste zou kunnen coderen?
Men zou gewoon het alfabet kunnen uibreiden, zodat "00" bv "g" wordt e.d, maar dan kan ik net de hele "xx" reeks afdekken. Misshien genoeg om het te laten passen... Zoals je ziet komt er vaak 00 voor. Dat hoeft echter niet altijd zo te zijn (hoewel ik het al heel veel gezien heb)..
Maar misschien hebben jullie wel een beter idee. Alle sugessties zijn welkom
Do diamonds shine on the dark side of the moon :?