Gå til innhold

ahw_

Medlemmer
  • Innlegg

    454
  • Ble med

Innlegg skrevet av ahw_

  1. Ikke at jeg har mye peiling på VB, men i hvert fall noe er klart. ProsessorIP er av typen Long, og du kan ikke bare blande dette sammen med String.

    I stedet for...

    "TCP" & ProsessorIP
    

    Prøv noe som...

    "TCP" & ProsessorIP.ToString()

    .. Hvis det er .NET, eller hvis det ikke er .NET..

    "TCP" & CStr(ProsessorIP)
  2. Siden ingen har gitt noe svar hittil, føler jeg at jeg bør prøve..

     

    Med JavaScript eller vanlig form/POST? Det skal være en web-applikasjon, ikke sant?

     

    Jeg har verken peiling på Ruby eller «ERB templates», men det du prøver på krever ser ut til å kreve en «backend/controller» (i hvert fall i siste tilfelle). Slik er det i hvert fall med andre MVC-applikasjoner. Har du laget noe slikt, eller prøver du på noe annet?

     

    Har du en «controller», kan du endre koden litt. F.eks. kan [[...],[...]] være din «model» som mates inn i din «ERB template», som jeg regner med aksesseres noe som @model eller hva enn du kalte variabelen. Deretter, når du håndterer POST-forespørsler (i din «controller») henter du ut verdien fra POST-parametrene på en eller annen måte (sjekk dokumentasjonen).

  3. Hei!

     

    Selv er jeg nesten utelukkende tiltrukket utseendet og kulturen til øst-asiatere, da spesielt japanere, deres tankegang og livsstil. Denne kombinasjonen er dessverre litt skjelden i norge, så jeg tror jeg forstår deg godt.

     

    Før man tenker på utseendet synes jeg det er spesielt viktig at man har et åpent sinn mens man inngår forhold med personer med vidt forskjellig bakgrunn og kultur. Er du spesifikt interessert i utlendere, enten i eller utenfor norge? Eller kan de gjerne være norske?

     

    Jeg har blitt kjent med folk som (ensidig) ville mer med meg via nettsiden J-List Friends, så noe lignende kan tas i betraktning. Ellers er jeg i et langt forhold med en fra japan (som aldri har vært i norge).

     

    Som andre har nevnt, tilnærmet alt er mulig hvis du er åpen for alternative metoder og kanskje tar noen sjanser. :)

     

    PS: Ang. ensidigheten på nettsiden: Jeg er en «gentleman», og min vennlighet ble nok misforstått. Pass derfor på hvis du prøver noe lignende.

  4. Vil si det er mer enn en rebrand når den ser så forskjellig ut. Klart Razer har hentet innmaten fra noen som kan det, men det er innpakningen som er mye av salgsargumentet her. :-)

    For målgruppen er vel heller ikke XLR så essensielt?

     

    Det er klart at Razer ønsket å maksimere profitten også denne gangen. Faktisk ser jeg at Yeti Pro har blitt latterlig mye dyrere enn den var for noen mnd. siden i enkelte butikker, og jeg ser ikke lenger noen god grunn til å kjøpe Yeti Pro i stedet for Seiren eller Seiren Pro i dag. Tyder kanskje på at Razer har lykkes med å markedsføre mikrofonen.

     

    Når det kommer til kvaliteten på produktene deres generelt, virker det som om de inngår en form for kompromiss og fortsatt har rom til å legge på prisen noen hakk, og folk kjøper fortsatt selv om det finnes billigere og/eller bedre produkter. Seiren er heldigvis langt fra like stygg som Yeti etter min mening, og jeg håper at Razer faktisk øker kvaliteten også heretter.

     

    I det minste er Yeti/Seiren en grei «all-around» mikrofon ift. prisen, men du kan få bedre resultat med en god mikrofon som er tilpasset ditt spesifikke behov. :)

    • Liker 2
  5. Jeg er litt streng, men mener godt. Har ikke så mye si, men dette kan kanskje hjelpe:

    • Koden er ikke lett å lese og forstå (orker ikke å prøve engang). Ikke rart at det er vanskelig å fikse bugs? :)
    • Fjern kommentert kode (støy).
    • Hold dere til ett språk i kommenterene og koden (helst engelsk).
    • Kjør koden gjennom en «code formatter/beautifier», men dette er ikke nødvendig hvis koden formatteres ordentlig fra grunnen av. Bruk tekstredigerer/IDE som tilrettelegger for dette.
    • Skriv «selvdokumenterende» kode og fjern ubrukelige kommentarer.
    • Søk opp SoC («separation of concerns»).

    Personlig synes jeg at punktene over burde ha trukket ned karakteren (under 6). Jeg ville skrevet koden på nytt. :)

     

    Ellers vil jeg si at selve idéen var ganske god, og så lenge mekanikken fungerer er det av «spillbar» kvalitet.

  6. Jeg har bare erfaring med å signere «native» EXE/DLL-filer, og til signering bruker jeg SignTool fra Microsoft. Jeg har ingen erfaring med Office add-ins, så om signering kan løse problemet vet jeg ikke.

     

    Du må ha «code signing certificate» som passer til Windows-programmer og/eller MS Office (VBA, makroer, dokumenter osv), alt etter hva du trenger. Comodo støtter de mest populære formatene.

     

    Pass også på at sertifikatet støtter «time-stamping»; dette gjør at eksisterende signerte programmer fortsatt kan stoles på etter at sertifikatet er utgått. Sjekk dette nøye med billige sertifikater, som f.eks. de fra StartCom.

     

    Du kan få kjøpt sertifikat billigere via GoGetSSL – jeg har sertifikat fra Comodo.

     

    Hvis programmene kun brukes internt i bedriften kan du spare penger på å signere med selv-generert sertifikat; da må CA-sertifikatet (certificate authority) installeres på alle PC'ene som skal kjøre de signerte programmene.

     

    Når du har sertifikatet bør du ikke dele det med noen du ikke stoler tilnærmet 100% på. Pass godt på det og ikke la det ligge rundt om kring ukryptert eller med passordet i nærheten – får noen tak i det kan de signere programmer som ser ut som de kommer fra deg og kan stoles på.

     

    Hvis dere har en CI-server (continuous integration) og bruker SCM (source code/control management) kan dere sette opp dette med «release management». Planen min ville da vært å ikke dele sertifikatet med noen andre enn den/de som administrerer dette oppsettet. Installér sertifikatet på serveren og få CI-serveren til å signere programmene automatisk. Partnere laster opp koden sin her i stedet for å bygge de endelige filene selv.

     

    Slik jeg forstår det får du/dere tilsendt binærfilene fra partnere, og da har du heldigvis god kontroll på sertifikatet og hva som signeres. Jeg ser ikke noen spesiell god grunn til at du ikke kan signere alt med ett og samme sertifikat i dette tilfellet.

     

    Nettsiden (eller serveren) må for all del ha sitt eget SSL-sertifikat, og disse kan du også få billigere fra GoGetSSL.

  7. IQueryable kan brukes på de steder du forventer å «bygge» mer på spørringen, f.eks. med mer filtrering. Hvis du f.eks. returnerer IQueryable der du burde ha returnert ICollection eller IEnumerable, risikerer du at ting som kun har med datakilden å gjøre lekker ut til f.eks. koden som kun har med UI å gjøre, eller annen logikk.

     

    I værste tilfelle kan spørringen endres til noe skadelig.

  8. Du, vil ikke en ICollection tvinge lesing av alle dataene som er relatert ?  Er ikke poenget med en IQueryable at SQL statementet bare bygges men ikke sendes før du faktisk gjør en foreach eller ToList eller tilsvarende ?  En ICollection er jo et Interface over en Collection og den er jo dermed allerede fylt med data.  Eller vil VIRTUAL sørge for at denne også kun lastes ved behov?

     

    Kan være en god idé å se litt bort fra det jeg foreslo tidligere siden alt ikke var helt riktig, og kanskje ikke passer helt til ditt behov. Jeg har også lært litt mer siden den gang. Jeg skal prøve å forklare litt mer i detalj, men vær oppmerksom på at jeg ikke er en ekspert. Dersom ikke noe av dette kan bidra er det uansett greit for meg å ha det et sted evt. til senere.

     

    Både IQueryable og ICollection er basert på IEnumerable, og støtter «deferred execution» (spørringen kjøres kun når den må, f.eks. når man kaller ToList, ja), men bare IQueryable støtter «lazy loading» også ut av boksen. Gjør du dine «properties» virtuelle, sørger EF for å lage proxy'er av dine «entities», som tar seg av «lazy loading» i stedet. Bruker man ikke «lazy loading» vil verdien være null.

     

    Når du aksesserer elementene i en ICollection kjøres spørringen, men alle entity'ene lastes inn i minnet hos klienten før filtrering.

    Når du aksesserer elementene i en IQueryable skjer filtreringen i selve spørringen.

     

    Når dine «navigation properties» er virtuelle, lager EF en instans av en klasse som baseres på ICollection, men ikke IQueryable; av den grunn er det ikke mulig å bruke IQueryable med «navigation properties». Den eneste grunnen jeg tror det kanskje ser ut til å fungere er fordi IQueryable er basert på IEnumerable.

     

    Dermed kan jeg fortsatt anbefale at dine «navigation properties» er av typen ICollection (eller IEnumerable) selv om det ikke er av nøyaktig samme grunn som sist gang. Merk at hvis du har en *:*-relasjon vil bruk av IEnumerable ikke automatisk lage tabellen for kryssreferansene.

     

    Når man har mange rader bør man så klart ikke laste alt inn i minnet for deretter å forkaste mesteparten. Det finnes en løsning, men den er ikke helt optimal.

     

    Her er den viktigste koden i mitt lille test-prosjekt:

    using System.Data.Entity; // For DbSet<T>.Include()
    // ...
    
        public class BookLibraryContext : DbContext
        {
            public BookLibraryContext()
                : base("name=BookLibraryContext")
            {
            }
            
            public virtual DbSet<Author> Authors { get; set; }
            public virtual DbSet<Book> Books { get; set; }
        }
    
        public class Author
        {
            public int AuthorId { get; set; }
            public string Name { get; set; }
    
            public virtual ICollection<Book> BooksAuthored { get; set; }
        }
    
        public class Book
        {
            public int BookId { get; set; }
            public string Title { get; set; }
    
            public virtual ICollection<Author> Authors { get; set; }
        }
    
        public class BookController : Controller
        {
            public ActionResult Details(int id)
            {
                using (var context = new BookLibraryContext()) {
                    var sqlLog = new StringBuilder();
                    context.Database.Log = s => {
                        Trace.Write(s);
                        sqlLog.Append(s);
                    };
    
                    var book = context.Books.SingleOrDefault(e => e.BookId == id);
                    if (book == null) {
                        return HttpNotFound();
                    }
    
                    var authors = book.Authors.Take(2);
    
                    var model = new BookDetailsViewModel {
                        BookTitle = book.Title,
                        BookAuthors = string.Join(", ", authors.Select(x => x.Name)),
                        SqlLog = sqlLog.ToString()
                    };
    
                    return View(model);
                }
            }
        }
    

    Koden over resulterer i følgende SQL-spørringer:

    Opened connection at 29.05.2015 04:47:42 +02:00
    SELECT TOP (2)
    [Extent1].[BookId] AS [BookId],
    [Extent1].[Title] AS [Title]
    FROM [dbo].[Books] AS [Extent1]
    WHERE [Extent1].[BookId] = @p__linq__0
    -- p__linq__0: '3' (Type = Int32, IsNullable = false)
    -- Executing at 29.05.2015 04:47:42 +02:00
    -- Completed in 1 ms with result: SqlDataReader
    
    Closed connection at 29.05.2015 04:47:42 +02:00
    Opened connection at 29.05.2015 04:47:42 +02:00
    SELECT
    [Extent2].[AuthorId] AS [AuthorId],
    [Extent2].[Name] AS [Name]
    FROM [dbo].[BookAuthors] AS [Extent1]
    INNER JOIN [dbo].[Authors] AS [Extent2] ON [Extent1].[Author_AuthorId] = [Extent2].[AuthorId]
    WHERE [Extent1].[Book_BookId] = @EntityKeyValue1
    -- EntityKeyValue1: '3' (Type = Int32, IsNullable = false)
    -- Executing at 29.05.2015 04:47:42 +02:00
    -- Completed in 0 ms with result: SqlDataReader
    
    Closed connection at 29.05.2015 04:47:42 +02:00
    

    Problemet her er at Take(2) har null effekt på spørringen.

     

    Ny kode:

    var authors = context.Entry(book).Collection(e => e.Authors).Query().Take(2);
    

    SQL:

    Opened connection at 29.05.2015 04:49:14 +02:00
    SELECT TOP (2)
    [Extent1].[BookId] AS [BookId],
    [Extent1].[Title] AS [Title]
    FROM [dbo].[Books] AS [Extent1]
    WHERE [Extent1].[BookId] = @p__linq__0
    -- p__linq__0: '3' (Type = Int32, IsNullable = false)
    -- Executing at 29.05.2015 04:49:14 +02:00
    -- Completed in 1 ms with result: SqlDataReader
    
    Closed connection at 29.05.2015 04:49:14 +02:00
    Opened connection at 29.05.2015 04:49:14 +02:00
    SELECT
    [Limit1].[Name] AS [Name]
    FROM ( SELECT TOP (2)
    [Extent2].[Name] AS [Name]
    FROM [dbo].[BookAuthors] AS [Extent1]
    INNER JOIN [dbo].[Authors] AS [Extent2] ON [Extent1].[Author_AuthorId] = [Extent2].[AuthorId]
    WHERE [Extent1].[Book_BookId] = @EntityKeyValue1
    ) AS [Limit1]
    -- EntityKeyValue1: '3' (Type = Int32, IsNullable = false)
    -- Executing at 29.05.2015 04:49:14 +02:00
    -- Completed in 0 ms with result: SqlDataReader
    
    Closed connection at 29.05.2015 04:49:14 +02:00
    

    Dette gjør kanskje det du vil, men jeg synes ikke det er spesielt pent. Et annet problem er at denne enkle koden kobler til serveren hele to ganger.

     

    Ny kode:

        public class BookController : Controller
        {
            public ActionResult Details(int id)
            {
                using (var context = new BookLibraryContext()) {
                    var sqlLog = new StringBuilder();
                    context.Database.Log = s => {
                        Trace.Write(s);
                        sqlLog.Append(s);
                    };
    
                    var container = context.Books.Where(e => e.BookId == id).Select(e => new {
                        Book = e,
                        Authors = e.Authors.Take(2)
                    }).SingleOrDefault();
    
                    if (container == null) {
                        return HttpNotFound();
                    }
    
                    var model = new BookDetailsViewModel {
                        BookTitle = container.Book.Title,
                        BookAuthors = string.Join(", ", container.Authors.Select(x => x.Name)),
                        SqlLog = sqlLog.ToString()
                    };
    
                    return View(model);
                }
            }
        }
    

    SQL:

    Opened connection at 29.05.2015 06:19:51 +02:00
    SELECT 
        [Project3].[BookId] AS [BookId], 
        [Project3].[Title] AS [Title], 
        [Project3].[C1] AS [C1], 
        [Project3].[AuthorId] AS [AuthorId], 
        [Project3].[Name] AS [Name]
        FROM ( SELECT 
            [Limit1].[BookId] AS [BookId], 
            [Limit1].[Title] AS [Title], 
            [Limit2].[AuthorId] AS [AuthorId], 
            [Limit2].[Name] AS [Name], 
            CASE WHEN ([Limit2].[AuthorId] IS NULL) THEN CAST(NULL AS int) ELSE 1 END AS [C1]
            FROM   (SELECT TOP (2) 
                [Extent1].[BookId] AS [BookId], 
                [Extent1].[Title] AS [Title]
                FROM [dbo].[Books] AS [Extent1]
                WHERE [Extent1].[BookId] = @p__linq__0 ) AS [Limit1]
            OUTER APPLY  (SELECT TOP (2) 
                [Extent3].[AuthorId] AS [AuthorId], 
                [Extent3].[Name] AS [Name]
                FROM  [dbo].[BookAuthors] AS [Extent2]
                INNER JOIN [dbo].[Authors] AS [Extent3] ON [Extent3].[AuthorId] = [Extent2].[Author_AuthorId]
                WHERE [Limit1].[BookId] = [Extent2].[Book_BookId] ) AS [Limit2]
        )  AS [Project3]
        ORDER BY [Project3].[BookId] ASC, [Project3].[C1] ASC
    -- p__linq__0: '3' (Type = Int32, IsNullable = false)
    -- Executing at 29.05.2015 06:19:51 +02:00
    -- Completed in 1 ms with result: SqlDataReader
    
    Closed connection at 29.05.2015 06:19:51 +02:00
    
    

    Dette er vel kanskje det beste selv om spørringen ikke er den aller peneste.

     

    Det hadde vært fint om man kunne slippe å prosjektere resultatene inn i en ny anonym klasse. I stedet for koden over hadde det vært fint å kunne gjøre noe som dette:

    var book = context.Books.Include(e => e.Authors, x => x.Take(2)).SingleOrDefault(e => e.BookId == id);
    // ...
    var authors = book.Authors;
    

    Noen har visst prøvd å fikse problemet selv mens MS vurderer om de vil gjøre noe med dette.

     

    Du kan jo sjekke ut lenkene i kommentarene her: Allow filtering for Include extension method

  9. Takker igjen..

     

    Det går bra.  Takk for infoen.  Hadde allerede implementert første ide, men ikke gjort noe tester enda.  Kjappt for meg å endre til nevnte metodikk..

     

    OK! :)

     

    Med litt triksing ser det ut som at man kan få til det jeg først foreslo (EF4):

    http://www.phdesign.com.au/programming/delete-dependent-entities-when-removed-from-ef-collection/

     

    Er ikke alltid at det er riktig å endre DB-strukturen, og personlig er jeg ikke en stor fan av triksing.

  10.  

    ...

    En siste ting: Dersom du bruker ICollection i stedet for IQueryable, kan du gjøre følgende i stedet for foreach:

    customer.Phones.Clear();
    

    ...

    Men det var interresant det du sier med iCollection i stedet for iQueryable.  Var ikek klar over at en CLEAR ville gi databasen beskjed om å slette alle postene som er relatert.  Virker nesten litt skummelt, men når jeg tenker på det så gir det jo mening.

     

     

    Hei igjen!

     

    I dag skulle jeg selv slette alle «barn» i et nytt prosjekt, og fant ut at Clear() ikke fungerte som forventet (i stedet fjernet referanser som feilet pga. FK constraint?). Det er tydelig at standard atferd (EF6) avviker fra det jeg trodde.

     

    Jeg bytta til noe som tilsvarer følgende:

    r.Phones.RemoveRange(customer.Phones);

    Jeg beklager at jeg sa feil tidligere.

  11. Ser ut som at du genererer databasen med «code first»-metoden. Det er flere muligheter, som f.eks. å sette dette opp i DbContext.OnModelCreating med «Fluent API»), men du kan bruke [Required] i dette tilfellet, som du selv har funnet ut, og dette skrur på «cascade delete». DBMS'en bør absolutt håndtere dette selv fordi det gjør det umulig å ende opp med «foreldreløse» rader selv om koden din inneholder feil.

     

    Har du mer enn én DbContext? Du trenger strengt tatt bare én, spesielt i eksempelet ditt, og det gjør ting mye enklere. Ulagrede endringer gjort med én DbContext får ikke en annen DbContext og «entities/DbSets» inni der vite om. Lag heller én DbContext og putt noe som dette inn i klassen din:

    public DbSet<Customer> Customers { get; set; }
    public DbSet<Phone> Phones { get; set; }
    

    Du kan fortsatt bruke «repository pattern» med én DbContext dersom du ønsker.

     

    Ser forresten at du ikke bruker r.SaveChanges() i eksempelet ditt, noe jeg regner med du bevisst unnlot.

     

    En siste ting: Dersom du bruker ICollection i stedet for IQueryable, kan du gjøre følgende i stedet for foreach:

    customer.Phones.Clear();
    
  12. Jeg syns intel ikke har gitt oss så mye siden core 2 ble lansert! Min i5 2550K holder mål den dag i dag!

     

    Ift. din i5-2550K er Intels første desktop-CPU med 8 kjerner (i7-5960X) faktisk helt rå, men du må vite hvordan du drar nytte av den.

     

    Min i5-2500K @ 4.2 GHz vil sannsynligvis også funke helt fint til de fleste oppgaver i flere år fremover, men til de mest krevende tingene holder den absolutt ikke mål. Jeg har faktisk litt problemer med å mette i7-5960X'en, og det gjør at alt det krevende kan kjøre i bakgrunnen mens jeg uforstyrret jobber med andre ting. :)

  13. ...

     

    Du kan f.eks. gjøre noe som følgende dersom du vil ha det enkelt og litt mer ryddig.

    $BAD_CASE_NUMBER_ERROR_MSG = "{0} er ikke et gyldig saksnummer, eller ikke implementert"
    
    do {
        $input = Read-Host "Skriv saksnummeret du ønsker å åpne"
        if (-not ($input -match "^([A-Z]+)\d+$")) {
            Write-Output ($BAD_CASE_NUMBER_ERROR_MSG -f $input)
            continue
        }
    
        $something = $Matches[1]
    
        $urlTable = @{
            "IM" = "https://SERVER.DOMENE.no/sm/index.do?ctx=docEngine&file=probsummary&query=number%3D%22{0}%22&action=&title=Incident%20{0}";
            "SD" = "https://SERVER.DOMENE.no/sm/index.do?ctx=docEngine&file=incidents&query=incident.id=%22{0}%22&queryHash=89472347&action=&title=Interaction%20;{0}";
        }
    
        $urlFormat = $urlTable[$something]
        if (-not $urlFormat) {
            Write-Output ($BAD_CASE_NUMBER_ERROR_MSG -f $input)
            continue
        }
    
        $url = $urlFormat -f $input
        Start-Process -FilePath $url
    } until ($input -eq "exit")
    
  14. Jeg vet egentlig ikke helt hva jeg skal si, både fordi man alltid møter på personer som burde håndtert enkelte situasjoner med kunder bedre, og fordi du ikke gir oss så fryktelig mye å si noe om. Jeg er i hvert fall veldig glad for at det gikk bra med deg.

     

    I stedet for å skrive her synes jeg det er bedre å tipse butikksjefen, enkelt og greit. Kanskje personen bak disken var fersk i jobben, hadde en dårlig dag, eller rett og slett at jobben ikke passer helt til ham. Fortell gjerne sjefen stedet til butikken, når du var der (dato og klokkeslett), beskriv personen (kort), og forklar situasjonen ordentlig. Er nok ikke så mange sjefer som liker dårlig behandling av (potensielle) kunder.

    • Liker 1
  15. Jeg prøvde trial/demo av Destiny for ikke så lenge siden, og likte det ganske godt. Kjøpte det med en gang og hvorfor ikke Season Pass i samme slengen fordi spillet var såpass bra.

     

    Ja, det var et ganske godt spill, faktisk... Helt til min karakter nådde level 20. Etter litt jobbing kom jeg til level 25. Jobber og sliter slik at jeg kan spille videre i DLC'en The Dark Below uten at det blir så fryktelig hektisk. Sliter enda litt til og har fortsatt ikke muligheten til å gå få høyere i level.

     

    PvP er også gøy, men ikke så fryktelig når du står fast på lavt level mens andre er level 30-32 og er tydelig mye sterkere en deg. Du må være ekstra flink for å kunne konkurrere.

     

    Etter hvert innså jeg hvor bortkastet alt arbeidet egentlig var. Hvorfor jobbe så hardt for så lite progresjon?

     

    Etter hvert begynte jeg å få maks glimmer/penger uten noe fornuftig å bruke det på.. Faktisk er det mye som er begrenset slik at folk skal bruke fryktelig mye tid på tull inni spillet.

     

    Jeg vil få den nye DLC'en uansett, men er egentlig lei av alt dette. Nå har ikke jeg lest noe særlig enda om DLC'en, men det forundrer meg ikke om jeg ikke får spilt det før jeg sliter enda litt til.

  16. Jeg har ikke opplevd slik hastighetsstruping med Canal Digital.

     

    Forslag:

    Hvilke torrentklientbenytter du? UTorrent har en slags "Båndbreddemåler" innebygd som mange kjører. Da setter den en del verdier i programmet basert på din linjekapasitet der og da. Prøv å kjøre den på nytt.

     

    Takk for svaret!

     

    Jeg bruker µTorrent 3.4.2. Etter å ha manuelt satt «hastigheten» til «20 Mbps» i klienten, så jeg at bl.a. «upload slots» økte betraktelig (fra 6 til 30). Testen målte litt over 16 Mbps.

     

    Så fortsatt ut som at linja var strupet til 10 Mbps en stund.. Men nå har jeg faktisk sett opp til 18+ Mbps i klienten! :ohmy:

     

    Trodde faktisk innstillingene mine var greie så jeg tenkte ikke på dette. Tusen takk! :D

  17. Hei!

     

    Jeg har hatt internett fra Canal Digital en god stund (100/10 Mbps), og har ikke hatt problemer med torrents før. Mens de testet oppgraderingen til 100/20 Mbps fikk jeg mellom 10 og 20 Mbps i opplasting i torrent-klienten.. Virket som om hastigheten (opp) ble strupet til ca. 10 Mbps ofte.. Nå som de offisielt har lansert den oppgraderte pakken (100/20 Mbps), får jeg tilnærmet aldri mer enn ca. 10-11 Mbps opp, mens jeg tilnærmet alltid får ca. 17-20 Mbps hos speedtest.net:

     

    4252742198.png

     

    Jeg har ikke merket noen forskjell uansett tid på dagen/natten.

     

    Er dette et kjent problem med Canal Digital?

     

    Ruter: ASUS RT-AC66U (firmware: 3.0.0.4.376.3861; QoS avslått)

     

    Takk for all hjelp dere kan tilby!

×
×
  • Opprett ny...