Inlägg

Inlägg som BeWMan har skrivit i forumet
Av BeWMan

Det är det jag försöker göra precis, jag har gått igenom API'et flera gånger utan att komma rätt. Det IP jag får fram när jag använder samma metod är mitt interna (192.168.0.1), och det hostname jag får fram är t.ex. bewman om mitt distinguished name är bewman.domän.se. Jag har två nätverkskort i burken, det kanske är det som krånglar till det? Men om jag skapar en Socket så används ju rätt nätverkskort (Socket's fungerar fint...).

Av BeWMan

Eeh, jaa...?

Socket s = new Socket( "www.sweclockers.com", 80 );

Är för mig att skicka information till en server utanför nätverket. Menar du att jag måste sätta upp en förbindelse med en server utanför nätverket och på servern hämta klientens hostname?

Av BeWMan

Det är så jag har försökt att göra, men jag får bara ut mitt interna hostname ändå. Det är möjligt att jag har gjort helt snett, så du får gärna visa med lite kod om du har tillgång till det.

Av BeWMan

Mitt eget hostname?

Hur får jag ut mitt hostname med Java? Alltså inte det interna, utan det externa - "h70gjf23fd880.telia.com"?

Av BeWMan

Tack för svaren. Jag förstår att det är bättre att lägga i stort sett alla säkerhetskritiska kontroller på servern, men skulle se om man kan avlasta servern och låta klienterna jobba lite mer. Systemet är inte bara säkerhetskritiskt, utan även tidskritiskt. Det ska gå i ett nafs att få verifikation på information, så jag vill inte ha några köer. Det handlar om många klienter och kopplingar mot servern också. Men som sagt, jag låter servern jobba på istället. Tack.

Av BeWMan

Värdekontroll på klient eller server?

Var är mest effektivt/säkrast att utföra kontroller av [känsliga] värden? Informationen som utbyts mellan server och klient är självklart krypterad, men var kontrollen görs är ju av vikt också, antar jag. Är det någon som har skrivit säkerhetskritiska system som kan ge mig lite vägledning? En användare skriver in en kod på klienten som ska stämma överens med användarens konto på servern. Koden är fyra tecken, f.ö...

Av BeWMan

Äh, WhiteSpace ( http://compsoc.dur.ac.uk/whitespace/index.php ) fanns ju inte med på era länksidor...

Av BeWMan

Om man får fortsätta att förstöra tråden... (Säg till om det är olämpligt, då får konversationen föras på annat ställe)

Men C++.NET (=MSVC++.NET gissar jag?) använder väl också de klassbibliotek som skeppas med .NET? Eller är det så att MSVC++.NET inte har något alls med .NET att göra, förutom att skeppa dem tillsammans?

För att vara lite on-topic: Tillåter i .NET programmering i ASM? Det skryts ju om alla språk som stöds på plattformen...

Av BeWMan

Det var ingen som sa att det handlade om just C++.NET, utan .NET i största allmänhet. Men inte kan den generera maskinkod eftersom att det krävs en CLR för att köra den? Möjligt att det här inte gäller C++.NET, jag är inte påläst om det.

Av BeWMan

Kolla på SAXBuilder och Document.

Av BeWMan

VS.NET kompilerar väl interpreterad kod (by default)? Således borde den inte vara alls lika snabb som C och inte ens i närheten av assembler.

Av BeWMan

dinPanel.revalidate() är nog svaret. Följt av repaint() eller liknande.

Av BeWMan
Citat:

Om detta är den enda modifikationen så går det (som jag sade i förra inlägget) bra att puffa på med ärvning... Du behöver inte hålla reda på vilket objekt som har slumpats ut i så fall.. Du kan bara ta bort objektet ur listan.. så upprepas det inte..

Jo, det måste hållas reda på. För om jag tar bort objekten när jag har slumpat ut det, så måste jag fylla på listan med samma objekt igen. Samma objekt kan slumpas ut två gånger, men aldrig förrän alla andra objekt har slumpats ut där emellan. Tack för exemplet också.

Av BeWMan

Visual Paradigm har en bra produkt för UML och modellering. Det finns en community edition att använda gratis för hobby-kodare och för inlärning. Hittas på http://www.visual-paradigm.com/ . Det är, förutom Rational Rose, det bästa program jag har använt för UMLering. Rational Rose däremot kostar ju skjortan om man ska ha det hemma, tur att KTH har licens för det på sina burkar.

Av BeWMan

Ni har rätt, och jag tycker det är bra med vettiga och utförliga beskrivningar och inte bara "Det är fel - gör så här". Tack för bra inlägg och jag ska ha Era förslag och tankesätt som underlag för den nya klassen.

Citat:

Man ska ärva om det finns en logik bakom det (Subklassen är en speciell typ av underklassen)... Man ska inte ärva bara för att ha tillgång till superklassens metoder..

Självklart, men jag har (hade) en logik bakom - klassen är en OrderCollection. Grejjen var att jag var i min OrderCollection tvungen (Ja, det här är en hemuppgift) att där i göra kontrollen av att ett objekt endast slumpas en gång.

Vill någon av er göra en kort redovisning av en s.k. Utility-klass? Är det endast med inkapsling av två ArrayList's i stort sett?

Av BeWMan

Ja, det är möjligt. Jag tyckte att det var ett enkelt sätt att använda mig av den logik som finns i en Collection-klass, eftersom att jag använder den. Den enda logiken jag bygger in i min wrapper är ju en randomize()-metod som returnerar ett objekt ur listan. Du menar alltså att jag ska ha två instansvariabler av typen ArrayList som jag "växlar" mina objekt mellan, istället för att använda arv? Då blir det ju så att jag får skriva "tomma" metoder som endast vidarbefodrar information åt båda håll:

public Order get( int index ) { return this.arrayList1.get( index ); }

F.ö., se min redigering kl. 22:44 där jag förklarade lösningen på problemet.

Av BeWMan
Citat:

Är dina Collection-objekt helt distinkta? Annars så har du en oändlig loop där.

Jäpp, det är inte där felet ligger.

Citat:

Varför använda sig av den här algoritmen överhuvudtaget? Det är mycket enklare om du bara kopierar innehållet i arraylist och sedan plockar ut elementen slumpmässigt (du kör fortfarande random.nextInt(storleken av listan))..

Jag vet inte riktigt om jag hänger med här, skulle du kunna förklara lite närmare hur du menar?

Tack för ditt svar.

Redigering
Nu kanske jag var lite snabb att svara där... Det resulterar visst i en evig loop. Min kod är inte alls någon höjdare ändå, märker jag. Jag får väl fundera vidare. Om någon har ett par tips får han/hon gärna dela med sig.

Med koden ovan så loggas ju en fråga även om den tidigare är loggad, vilket inte är någon höjdare - eftersom att jag gör jämförelser med den också. Så det hela löste sig genom att jag lade till en andra kontroll för att se om den var loggad tidigare, innan jag loggade frågan. Finns det bättre sätt att lösa det är jag självklart öppen för förslag.

Av BeWMan

Använd JNI för att använda native-kod på lågnivå ( Alltså portar, m.m. ), native-koden kan vara skrivet i istort sett vilket språk som helst, men vanligast är väl C. Det är på det sättet du får tunnla (Inte riktigt i rätt bemärkelse här i mitt exempel) trafiken.

Av BeWMan

Det enda du behöver för att köra vilken .NET-applikation som helst är en CLR för .NET. Den hittas på www.microsoft.com ...

Av BeWMan

Loggning av klass

Hej, jag sitter i Java och försöker sätta ihop ett program. Jag har fastnat, men har ingen aning om vad som är fel eller hur det uppstår - jag får inte heller mycket hjälp från Java. Programmet flyter fint genom kompileringen, men vid körningen kan det ta stopp lite här och där känns det som. Koden som är relevant, skulle jag gissa på, är den som följer nedan.

Det jag gör är att jag randomizar ut ett antal objekt ur en Collection, men vidarbefodrar det endast om det inte har vidarbefodrat det tidigare. Har det inte vidarbefodrats tidigare loggar jag det samtidigt, för att veta att det inte slumpas ut igen. Loggningen sker i en annan Collection och jag loggar helt sonika hela objektet. När sedan båda Collection:erna är lika fulla, i.e. loggnings-collection:en har lika många objekt som orginal-collection ska loggnings-collection:en tömmas och allt börjar sedan om.

public Order randomized() { Order ord = (Order)super.get( random.nextInt( super.size() ) ); if( super.size() == this.loggedOrders.size() ) this.loggedOrders.clear(); if( this.loggedOrders.contains( ord ) ) ord = randomized(); this.loggedOrders.add( ord ); return ord; }

Behöver jag säga att koden kommer från en wrapper som omsluter en ArrayList?

Felet jag får vid exekvering lyder:
"Exception in 'thread main' java.lang.StackOverflowError"
Hur som helst, jag får det inte direkt - utan det kan kommer efter 3 objekt har slumpats ut från min Collection, eller om 12 objekt har slumpats ut. Jag ser ingen röd tråd. :/