/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
NNTP struktur overvejelser
Fra : Lars Hoffmann


Dato : 12-10-02 14:12

Jeg sidder og skal til at lave en ASP side med forbindelse til en
newsserver hvor mine brugere kan læse og skrive i 5-10 forudbestemte
grupper a lá http://www.html.dk.

JEg har i et par uger leget lidt med hvordan man rent praktisk læser og
skriver til serveren, så den del har jeg nogenlunde styr på. Nu er mit
spørgsmål så, hvordan skal jeg strukturere denne process?

Mine muligheder er

A)
Både headers og hele indlæg fra de forskellige grupper gemmes i min
database, og databse opdateres løbende når en bruger besøger siden der
viser oversigten over indlæg i nyhedsgruppen.

fordele:
- Der kan søges hurtigt og effektivt i databasen
- Siderne med de enkelte indlæg kommer til at loade hurtigere, da alle
indlæg er hentet ned i databasen, og der skal derfor ikke hentes
individuelle indlæg hver gang et indlæg læses.

ulemper:
- Databasen kan nemt gå hen og blive mega-stor og uhåndterlig.



B)
Kun headers gemmes i databasen, de enkelte indlæg hentes fra
nyhedsserveren når de bliver læst.

fordele:
- væsentligt mindre database
- siden med liste over indlæg loades hurtigere end med løsning A.

ulemper:
- søgning mindre effektiv da der kun kan søges på headers
- Sider med enkelte indlæg kan tage længere tid om at loades da de skal
hentes fra NNTPs serveren



C) Intet gemmes i databasen, men hentes dirrekte fra NNTP serveren.

Fordele:
- Ingen database (billigere løsning)

Ulemper:
- Hastighed
- ingen muligheder for at lave en effektiv søgning.



Hvilken løsning bør jeg vælge? Jeg hælder selv mest til B, men hvis i
har andre foreslag eller argumenter hører jeg dem gerne.

MEd venlig hilsen
Lars Hoffmann

 
 
Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 14:18

Lars Hoffmann escribió / skrev

> Hvilken l›sning b›r jeg v‘lge? Jeg h‘lder selv mest til B, men hvis
> i har andre foreslag eller argumenter h›rer jeg dem gerne.

Tillægsspørgsmål:
Hvilke headers bør jeg gemme i min database (hvilke har relevans)?
Jeg overvejer følgende:

From
Newsgroups
Subject
Messege-ID
References
Date

jeg overvejer at tage følgende med, men er ikke sikker:

Reply-to
Organization

Hvis nogen kender en metode til med ASP at tegne et x-face, ville det
også være interessant at tage den header med.

Med venlig hilsen
Lars Hoffmann

Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 14:33

"Lars Hoffmann" <lars@hoffmann.ac> wrote
> Hvilke headers bør jeg gemme i min database (hvilke har relevans)?
> Jeg overvejer følgende:

Det ville nok være hensynsfuldt at tage højde for X-No-Archive headeren.

--
Jakob Andersen



Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 14:39

Jakob Andersen escribió / skrev

> Det ville nok v‘re hensynsfuldt at tage h›jde for X-No-Archive
> headeren.

Det har du naturligvis ret i, Den vil jeg respektere, men den har ikke
indflydelse på min datastruktur.
Med venlig hilsen
Lars Hoffmann

Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 14:48

"Lars Hoffmann" <lars@hoffmann.ac> wrote
> JEg har i et par uger leget lidt med hvordan man rent praktisk læser og
> skriver til serveren, så den del har jeg nogenlunde styr på. Nu er mit
> spørgsmål så, hvordan skal jeg strukturere denne process?
>
> Mine muligheder er
>
> A)
> Både headers og hele indlæg fra de forskellige grupper gemmes i min
> database, og databse opdateres løbende når en bruger besøger siden der
> viser oversigten over indlæg i nyhedsgruppen.
>
> fordele:
> - Der kan søges hurtigt og effektivt i databasen
> - Siderne med de enkelte indlæg kommer til at loade hurtigere, da alle
> indlæg er hentet ned i databasen, og der skal derfor ikke hentes
> individuelle indlæg hver gang et indlæg læses.
>
> ulemper:
> - Databasen kan nemt gå hen og blive mega-stor og uhåndterlig.

Jeg må sige jeg er størst tilhænger af (A) og det skyldes at du på denne
måde er uafhængig af serverens hastighed og stabilitet samtidig med at du
får langt bedre søgemuligheder.

Hvis du vælger (B) kan du risikere at brugerne ikke kan komme til at se
indlægene hvis serveren er nede, eller hvis din forbindelse til NNTPserveren
timer ud. Det bliver en langsom løsning.

Dog lyder det i mine ører som en flaskehals at du vil opdatere mod NNTP
serveren når en bruger besøger siden. Jeg ville istedet forslå at du havde
en process til at køre hvert 5. minut eller lignende, eller hvis du ikke har
mulighed for dette at du så aktiverer et *.vbs script når en bruger besøger
siden således at processen med at hente indlæg er uafhængig i forhold til
brugerens "brug" af systemet.

Dine overvejelser med databasen er ikke uvæsentlige hvis vi snakker en
Access database, men hvis vi snakker et rigtigt RDBMS så burde der ikke være
nogle problemer her.

--
Jakob Andersen



Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 14:57

Jakob Andersen escribió / skrev

> eller hvis du ikke har mulighed for dette at du så aktiverer et
> *.vbs script når en bruger besøger siden således at processen med
> at hente indlæg er uafhængig i forhold til brugerens "brug" af
> systemet.


Jeg har også overvejet hvordan dette kan gøres.

Hvordan launcher man et vbs script når en side besøges, således at siden
ikke venter på at scriptet bliver kørt færdigt før siden præsenteres?


> Dine overvejelser med databasen er ikke uvæsentlige hvis vi snakker
> en Access database, men hvis vi snakker et rigtigt RDBMS så burde
> der ikke være nogle problemer her.

Vi snakker MS SQL server, men overvejelserne er økonomiske da jeg nødigt
vil betale de alt for mange MBs til nntp systemet, men hvis det bedste
er løsning A, så må man jo bide i det sure æble og købe de nødvendige
MBs.
MEd venlig hilsen
Lars Hoffmann

Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 15:49

"Lars Hoffmann" <lars@hoffmann.ac> wrote
> Jeg har også overvejet hvordan dette kan gøres.

Jeg sidder lige og kommer i tanke om noget, afhængig af hvor genial din
udbyder har været til at sætte sikkerhed op på webserveren kan du selv
schedule jobbet vha. AT.

Lav en bat fil med følgende i:

for /L %h in (0,1,23) do for /L %m in (0,10,50) do AT %h:%m every
M, T, W, Th, F, S, Su "c:\ditbibliotekpåserveren\filnavn.vbs"
(På en linie)

Og afvikler derefter bat filen vha. følgende i en ASP fil:

<%
Set objShell = Server.Createobject("wscript.shell")
objShell.Run "c:\ditbibliotekpåserveren\filnavn.bat"
Set objShell = Nothing
%>


Det kan godt være du lige skulle tjekke med din udbyder først da ovenstående
genererer en pænt stor bunke jobs i deres scheduled tasks

OBS: Ovenstående er ment som en Joke, det er sikkert heller ikke legalt jvf.
dine betingelser hos udbyderen

> Hvordan launcher man et vbs script når en side besøges, således at siden
> ikke venter på at scriptet bliver kørt færdigt før siden præsenteres?

Du kan bruge en komponent som f.eks. ASPExec eller DynuExec, eller hvis du
har adgang til WSH kan du bruge et Shell objekts som jeg brugte i
ovenstående til at køre Bat filen.

<http://msdn.microsoft.com/library/en-us/script56/html/wsmthrun.asp>

> Vi snakker MS SQL server, men overvejelserne er økonomiske da jeg nødigt
> vil betale de alt for mange MBs til nntp systemet, men hvis det bedste
> er løsning A, så må man jo bide i det sure æble og købe de nødvendige
> MBs.

Det er ren tekst, og det kan der ifølge mine erfaringer presses en del af
ned i en MSSQL uden at det fylder, og desuden er plads ikke det dyreste
produkt. Jeg kunne forestille mig at din løsning (B) trak en del mere trafik
som udbyderen nok heller ikke ville være så glad for.

--
Jakob Andersen




Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 16:01

Jakob Andersen escribió / skrev

> OBS: Ovenstående er ment som en Joke, det er sikkert heller ikke
> legalt jvf. dine betingelser hos udbyderen

Jeg foretrækker også at have det i et script jeg selv har styr på,
såedes at det kan ændres hvis jeg har lyst.

> hvis du har adgang til WSH kan du bruge et Shell objekts som jeg
> brugte i ovenstående til at køre Bat filen.

Det har jeg da, så tak for det.

> Det er ren tekst, og det kan der ifølge mine erfaringer presses en
> del af ned i en MSSQL uden at det fylder, og desuden er plads ikke
> det dyreste produkt. Jeg kunne forestille mig at din løsning (B)
> trak en del mere trafik som udbyderen nok heller ikke ville være så
> glad for.

Ok da, jeg overvejer det

Tak for hjælpen
Med venlig hilsen
Lars Hoffmann

Jesper Stocholm (12-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 12-10-02 15:28

Jakob Andersen wrote :

> "Lars Hoffmann" <lars@hoffmann.ac> wrote
>> JEg har i et par uger leget lidt med hvordan man rent praktisk læser
>> og skriver til serveren, så den del har jeg nogenlunde styr på. Nu er
>> mit spørgsmål så, hvordan skal jeg strukturere denne process?
>> A)
>> Både headers og hele indlæg fra de forskellige grupper gemmes i min
>> database, og databse opdateres løbende når en bruger besøger siden
>> der viser oversigten over indlæg i nyhedsgruppen.

> Jeg må sige jeg er størst tilhænger af (A) og det skyldes at du på
> denne måde er uafhængig af serverens hastighed og stabilitet samtidig
> med at du får langt bedre søgemuligheder.

men så bliver NNTP-serveren jo i princippet unødvendig. Så ville jeg
næsten foreslå, at det helt droppes - hvis ikke det er et krav, at man
skal kunne skrive/læse med almindelige newsreadere.

Jeg har tidligere lavet en løsning som B - mest som et proof-of-concept,
der anvendte en NNTP-server som datalag, og designet endte med at blive
rimeligt. Det eneste irritationsmoment jeg kunne komme på var netop
synkroniserigen imellem server og front-end. Det var jo nemlig nødvendigt
at skrive som på html.dk, at der kunne gå op til 5 mins til indlægget
blev vist på HTML front-end.



--
Jesper Stocholm
http://stocholm.dk
Overvejer du at købe bøger ved saxo.dk ? Kig først på
http://www.firmcheck.dk/Info.asp?website=www.saxo.dk

Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 15:35

Jesper Stocholm escribió / skrev

> men så bliver NNTP-serveren jo i princippet unødvendig. Så ville
> jeg næsten foreslå, at det helt droppes - hvis ikke det er et krav,
> at man skal kunne skrive/læse med almindelige newsreadere.


Det er lige netop det der er et af kravene, et almindeligt forum har jeg
allerede kørrende på mit site.


> Jeg har tidligere lavet en løsning som B - mest som et
> proof-of-concept, der anvendte en NNTP-server som datalag, og
> designet endte med at blive rimeligt.

Jeg regner også med kun at gemme headers, da jeg tror jeg kan få det
biset sammen så der kan bruges flere nntp servere. Således skulle
stabiliteten være dækket ind.

Hvornår opdaterede du headers i din database, og hvorledes fik du det
ordnet så brugerne ikke skulle vente på at opdateringen blev fuldført
inden listen over indlæg kunne vises?

Jesper Stocholm (12-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 12-10-02 16:01

Lars Hoffmann wrote :

> Jesper Stocholm escribió / skrev

>> Jeg har tidligere lavet en løsning som B - mest som et
>> proof-of-concept, der anvendte en NNTP-server som datalag, og
>> designet endte med at blive rimeligt.
>
> Jeg regner også med kun at gemme headers, da jeg tror jeg kan få det
> biset sammen så der kan bruges flere nntp servere. Således skulle
> stabiliteten være dækket ind.
>
> Hvornår opdaterede du headers i din database, og hvorledes fik du det
> ordnet så brugerne ikke skulle vente på at opdateringen blev fuldført
> inden listen over indlæg kunne vises?

som sagt i et andet indlæg, så brugte jeg kommandoen XOVER, der typisk
giver 5 headers i indlæggene indenfor enten et bestemt tidsrum eller
"siden indlæg nr. 343xxx blev postet". Mht ventetiden, så løste jeg det
ikke - men fortalte blot brugerne, at der kunne gå et stykke tid.



--
Jesper Stocholm
http://stocholm.dk
Overvejer du at købe bøger ved saxo.dk ? Kig først på
http://www.firmcheck.dk/Info.asp?website=www.saxo.dk

Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 15:39

"Jesper Stocholm" <jespers@stocholm.invalid> wrote
> men så bliver NNTP-serveren jo i princippet unødvendig. Så ville jeg
> næsten foreslå, at det helt droppes - hvis ikke det er et krav, at man
> skal kunne skrive/læse med almindelige newsreadere.

NNTP serveren bliver da ikke unødvendig, jeg ser Lars' applikation som
værende et tilbud for at være Frontend/Søgemulighed for folk der ikke har
sat en newsreader op eller evt. er på farten altså ved "fremmede" maskiner.
At man så lagrer informationen fra serveren i sin egen database for at
optimere søgninger samt hastigheder er ikke noget problem, tværtimod.

> Jeg har tidligere lavet en løsning som B - mest som et proof-of-concept,
> der anvendte en NNTP-server som datalag, og designet endte med at blive
> rimeligt.

Og hvordan fungerede din søgning så?

> Det eneste irritationsmoment jeg kunne komme på var netop
> synkroniserigen imellem server og front-end. Det var jo nemlig nødvendigt
> at skrive som på html.dk, at der kunne gå op til 5 mins til indlægget
> blev vist på HTML front-end.

Den kommer du nok ikke udover medmindre du kører en service på NT-boxen der
synkroniserer realtime.

--
Jakob Andersen



Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 15:46

Jakob Andersen escribió / skrev

> NNTP serveren bliver da ikke un›dvendig, jeg ser Lars' applikation
> som v‘rende et tilbud for at v‘re Frontend/S›gemulighed for folk
> der ikke har sat en newsreader op eller evt. er p† farten alts† ved
> "fremmede" maskiner. At man s† lagrer informationen fra serveren i
> sin egen database for at optimere s›gninger samt hastigheder er
> ikke noget problem, tv‘rtimod.

Jeg vil da gerne forklare hvad det er til:

Jeg har en DVD hjemmeside med et solidt antal besøgende (imellem 500 og
800 unikke besøgende pr dag). Siden er spansk da jeg bor i Spanien. Der
findes en del DVD newsgroups som jeg gerne vil give mine registrerede
brugere mulighed for at læse og skrive i. De spanske nyhedsgrupper er
ikke så brugte som de danske, da de fleste hernede ikke ved at de
eksistere. Derfor vil jeg gerne give mine brugere mulighed for at skrive
i de spanske nyhedsgrupper om DVD og også læse i internationale DVD
nyhedsgrupper.

Med venlig hilsen
Lars Hoffmann

Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 16:12

"Lars Hoffmann" <lars@hoffmann.ac> wrote
> Jeg vil da gerne forklare hvad det er til:

Med ovenstående formål er den store forkromede "søg-flere-år-tilbage"
version nok ikke nødvendig, derfor kan du jo lave det sådan at du kun har
indlægenes tekster gemt f.eks. en måned tilbage, og hvis folk så requester
et af de ældre indlæg henter du dem fra newsserveren istedet for fra
databasen.

--
Jakob Andersen



Jesper Stocholm (12-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 12-10-02 15:58

Jakob Andersen wrote :

> "Jesper Stocholm" <jespers@stocholm.invalid> wrote
>> men så bliver NNTP-serveren jo i princippet unødvendig. Så ville jeg
>> næsten foreslå, at det helt droppes - hvis ikke det er et krav, at
>> man skal kunne skrive/læse med almindelige newsreadere.
>
> NNTP serveren bliver da ikke unødvendig, jeg ser Lars' applikation som
> værende et tilbud for at være Frontend/Søgemulighed for folk der ikke
> har sat en newsreader op eller evt. er på farten altså ved "fremmede"
> maskiner.

Se, sådan læste jeg ikke hans indlæg :)

> At man så lagrer informationen fra serveren i sin egen
> database for at optimere søgninger samt hastigheder er ikke noget
> problem, tværtimod.

Nej, jeg kunne også forestille mig, at det vil blive en rigtig elegant og
optimal løsning.

>> Jeg har tidligere lavet en løsning som B - mest som et
>> proof-of-concept, der anvendte en NNTP-server som datalag, og
>> designet endte med at blive rimeligt.
>
> Og hvordan fungerede din søgning så?

Som jeg siger: den endte med at fungere rimeligt. Den kom dog aldrig i
produktion, da vores "funding" blev klippet. Det var et projekt, hvor jeg
ville lave et forum med en NNTP-server (vores egen) som datalag.

Konkret lagrede jeg kun headers i databasen, og disse headers hentede jeg
ud med XOVER-kommandoen. De indhentede headers dannede basis for trådning
af indlæg. Hvert 5. minut checkede jeg om der var nye indlæg i gruppen -
og hvis det var tilfældet, så blev headers hentet og opdateret. Dette
check blev lavet på indgangssiden af forum. Først herefter kunne man
komme frem til selve nyhedsgruppen. Dette blev lavet for at undgå for
lang ventetid med opdatering, hentning af headers fra db og trådning.

>> Det eneste irritationsmoment jeg kunne komme på var netop
>> synkroniserigen imellem server og front-end. Det var jo nemlig
>> nødvendigt at skrive som på html.dk, at der kunne gå op til 5 mins
>> til indlægget blev vist på HTML front-end.
>
> Den kommer du nok ikke udover medmindre du kører en service på
> NT-boxen der synkroniserer realtime.

Jeps.

Mit system var:

IIS: Windows 2000 Svr
NNTP-server: Exchange 2000
DB-server: MS SQL 2000

Performance til løsningen vil med version B være meget afhængig af
trafikken til og fra NNTP-serveren. Vi var heldige, at vi havde vores
egen - men hvis man skulle arbejde med fx en nyhedsserver som
msnews.microsoft.com, så tror jeg, at man vil opleve meget lange
svartider.



--
Jesper Stocholm
http://stocholm.dk
Overvejer du at købe bøger ved saxo.dk ? Kig først på
http://www.firmcheck.dk/Info.asp?website=www.saxo.dk

Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 16:07

Jesper Stocholm escribió / skrev

> Konkret lagrede jeg kun headers i databasen, og disse headers
> hentede jeg ud med XOVER-kommandoen.

Så har jeg da lige et hurtigt spørgsmål ti det....
Med HEAD bliver de forskellige headers adskilt med et linieskift, men
med XOVER ser det for mig ud som om de bliver adskilt af et lidt
tilfældigt antal whitespaces.
Hvordan får du hvis du bruger XOVER splittet de forskellige headers?

Jesper Stocholm (12-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 12-10-02 16:08

Lars Hoffmann wrote :

> Jesper Stocholm escribió / skrev
>
>> Konkret lagrede jeg kun headers i databasen, og disse headers
>> hentede jeg ud med XOVER-kommandoen.
>
> Så har jeg da lige et hurtigt spørgsmål ti det....
> Med HEAD bliver de forskellige headers adskilt med et linieskift, men
> med XOVER ser det for mig ud som om de bliver adskilt af et lidt
> tilfældigt antal whitespaces.
> Hvordan får du hvis du bruger XOVER splittet de forskellige headers?

Så vidt jeg kan huske, så er det et tabulator-tegn (chr(9))

--
Jesper Stocholm
http://stocholm.dk
Overvejer du at købe bøger ved saxo.dk ? Kig først på
http://www.firmcheck.dk/Info.asp?website=www.saxo.dk

Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 16:14

"Jesper Stocholm" <jespers@stocholm.invalid> wrote
> Så vidt jeg kan huske, så er det et tabulator-tegn (chr(9))

Det er en TAB jvf:
<http://rfc.sunsite.dk/rfc/rfc2980.html>


--
Jakob Andersen



Thygesen (12-10-2002)
Kommentar
Fra : Thygesen


Dato : 12-10-02 17:38

"Lars Hoffmann" <lars@hoffmann.ac> wrote
> Jeg sidder og skal til at lave en ASP side med forbindelse til en
> newsserver hvor mine brugere kan læse og skrive i 5-10 forudbestemte
> grupper a lá http://www.html.dk.
>
> <Mulige løsningsforslag>
>
> Hvilken løsning bør jeg vælge? Jeg hælder selv mest til B, men hvis i
> har andre foreslag eller argumenter hører jeg dem gerne.

Jeg sidder faktisk og er i gang med at lave en ASP side, lidt i stil med det
du nævner, som kan hente meddelelser fra nyhedsgrupper. Jeg har valgt at det
skal lægge alt ned i databasen, både heders og body. Jeg bruger komponentet
aspNNTP og kan kun få det til at gemme følgende fra headeren:

NNTP.DateTime
NNTP.Subject
NNTP.Groups
NNTP.Organization
NNTP.BodyText
NNTP.FromName
NNTP.FromAddress
NNTP.FollowUpTo
NNTP.MessageID
NNTP.References

Det bruger MySQL database og i øjeblikket er der 2000 indlæg (fra
nyhedsgrupperne dk.edb.internet.webdesign.*, dvs også alle undergrupperne)
og databasen fylder 2.2 MB, så det er jo ikke det store.

I øjeblikket fungere det bare ved at jeg har en side åben på serveren, der
refresher hvert 5. minut, som henter de nye meddelelser, det fungere fint,
jeg har prøvet med noget vbs,
men har ikke kunnet få det til at virke.

Jeg kunne godt tænke mig at høre hvad du bruger af komponent til at hente
meddelelserne fra nyhedsgrupperne.

Mvh. Christoffer Thygesen






Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 17:48

Thygesen escribió / skrev

> Jeg kunne godt t‘nke mig at h›re hvad du bruger af komponent til at
> hente meddelelserne fra nyhedsgrupperne.


Jeg bruger w3sockets fra dimac.

Det er skide nemt, så jeg smider lige noget Sourcekode ef5ter dig så du
kan se hvordan jeg snakker med serveren:


--------------------------
'Newsgroup info
'Retrieve by GROUP
'Format:
'211 n f l s
' n = estimated number of articles in group,
' f = first article number in the group,
' l = last article number in the group,
' s = name of the group.
dim groupInfo

'w3Socket object that connects to NNTP server
dim socket

set socket = Server.CreateObject("Socket.TCP")
'defines server (see vars.asp)
socket.Host = ServerName & ":119"

socket.open()
socket.WaitFor(vbnewline)
   
'Sends username (see vars.asp)
socket.SendLine("AUTHINFO USER " & user)
socket.WaitFor(vbnewline)'socket.WaitFor("381")
   
'Sends password (see vars.asp)
socket.SendLine("AUTHINFO PASS " & password)
socket.WaitFor(vbnewline)'socket.WaitFor("281")

'Sets group according to Querystring
socket.SendLine("GROUP " & Request.QueryString("group"))
socket.WaitFor(vbnewline)
   
'returns newsgroup info
groupInfo = socket.buffer

--------------------------
osv...

Jeg sender altså med socket.sendline("kommando") og venter med
socket.waitfor() og læser svaret fra serveren med socket.buffer. Det er
faktisk ret spændende at rode med, for man føler virkelig at man er nede
og rode ved den helt grundliggende clinet/server kommunikation.

Med venlig hilsen
Lars Hoffmann

Thygesen (12-10-2002)
Kommentar
Fra : Thygesen


Dato : 12-10-02 18:37

"Lars Hoffmann" <lars@hoffmann.ac> wrote in message
news:Xns92A5BEAA74371intercambiodvdPUNTOc@130.133.1.4...
> Jeg bruger w3sockets fra dimac.
>
> Det er skide nemt, så jeg smider lige noget Sourcekode ef5ter dig så du
> kan se hvordan jeg snakker med serveren:
>
> <kode>
>
> Jeg sender altså med socket.sendline("kommando") og venter med
> socket.waitfor() og læser svaret fra serveren med socket.buffer. Det er
> faktisk ret spændende at rode med, for man føler virkelig at man er nede
> og rode ved den helt grundliggende clinet/server kommunikation.

Det er meget fint at man kan hente det med Socket.TCP, men jeg kender jo
ikke alle kommandoerne, man skal sende til newsserveren for at hente
meddelelserne, er det noget du har? Eller skal man finde det på internettet
eller hvor kan man få fat i det?

Mvh. Christoffer Thygesen



Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 18:48

"Thygesen" <cht@cht.dk> wrote
> Det er meget fint at man kan hente det med Socket.TCP, men jeg kender jo
> ikke alle kommandoerne, man skal sende til newsserveren for at hente
> meddelelserne, er det noget du har? Eller skal man finde det på
internettet
> eller hvor kan man få fat i det?

<http://rfc.sunsite.dk/rfc/rfc977.html>
<http://rfc.sunsite.dk/rfc/rfc2980.html>

--
Jakob Andersen



Thygesen (12-10-2002)
Kommentar
Fra : Thygesen


Dato : 12-10-02 19:03

"Jakob Andersen" <jakob@effectus.dk> wrote in message
news:ao9nbb$2but$1@news.cybercity.dk...
> "Thygesen" <cht@cht.dk> wrote
> > Det er meget fint at man kan hente det med Socket.TCP, men jeg kender jo
> > ikke alle kommandoerne, man skal sende til newsserveren for at hente
> > meddelelserne, er det noget du har? Eller skal man finde det på
> internettet
> > eller hvor kan man få fat i det?
>
> <http://rfc.sunsite.dk/rfc/rfc977.html>
> <http://rfc.sunsite.dk/rfc/rfc2980.html>

ok, det ser ud til at virke og nu kan jeg selvfølgelig finde de forskellige
kommandoer, men det er vel ikke tilfældigvis sådan at du har kommandoerne,
som jeg skal bruge stående, det vil være en stor hjælp.

Mvh. Christoffer Thygesen



Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 19:09

Thygesen escribió / skrev

> ok, det ser ud til at virke og nu kan jeg selvf›lgelig finde de
> forskellige kommandoer, men det er vel ikke tilf‘ldigvis s†dan at
> du har kommandoerne, som jeg skal bruge st†ende, det vil v‘re en
> stor hj‘lp.

Jeg har jo ikke lavet det færdigt endnu, men du bør mindst have styr på
følgende kommandoer for at læse fra serveren(læs detaljerne i de RFC'er
som Jakob har henvist til):

AUTHINFO USER
AUTHINFO PASS
GROUP
STAT
XOVER
HEAD
BODY
QUIT

Der skal nok komme flere til efterhånden som jeg får det bikset færdigt,
men med disse kan man komme langt.
MEd venlig hilsen
Lars Hoffmann

Thygesen (12-10-2002)
Kommentar
Fra : Thygesen


Dato : 12-10-02 19:36

"Lars Hoffmann" <lars@hoffmann.ac> wrote in message
news:Xns92A5CC5C8834EintercambiodvdPUNTOc@130.133.1.4...
>
> Jeg har jo ikke lavet det færdigt endnu, men du bør mindst have styr på
> følgende kommandoer for at læse fra serveren(læs detaljerne i de RFC'er
> som Jakob har henvist til):
>
> AUTHINFO USER
> AUTHINFO PASS
> GROUP
> STAT
> XOVER
> HEAD
> BODY
> QUIT
>
> Der skal nok komme flere til efterhånden som jeg får det bikset færdigt,
> men med disse kan man komme langt.

Mange tak for det.

Mvh. Christoffer Thygesen



Thygesen (20-10-2002)
Kommentar
Fra : Thygesen


Dato : 20-10-02 15:35

"Lars Hoffmann" <lars@hoffmann.ac> skrev i en meddelelse
news:Xns92A5BEAA74371intercambiodvdPUNTOc@130.133.1.4...
> Thygesen escribió / skrev
>
> Jeg bruger w3sockets fra dimac.
>
> Det er skide nemt, så jeg smider lige noget Sourcekode ef5ter dig så du
> kan se hvordan jeg snakker med serveren:
>
> <kode>

Du kan vel ikke sende hele koden, så vil jeg være meget taknemlig. Jeg kan
nemlig ikke få det til at virke.

Mvh. Christoffer Thygesen



Lars Hoffmann (20-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 20-10-02 19:58

Thygesen escribió / skrev

> "Lars Hoffmann" <lars@hoffmann.ac> skrev i en meddelelse
> news:Xns92A5BEAA74371intercambiodvdPUNTOc@130.133.1.4...
>> Thygesen escribió / skrev
>>
>> Jeg bruger w3sockets fra dimac.
>>
>> Det er skide nemt, så jeg smider lige noget Sourcekode ef5ter dig
>> så du kan se hvordan jeg snakker med serveren:
>>
>> <kode>
>
> Du kan vel ikke sende hele koden, så vil jeg være meget taknemlig.
> Jeg kan nemlig ikke få det til at virke.

Jo naturligvis.

JEg har stadig problemer med at få det til at køre som .vbs på serveren,
men hvis jeg fyrer scriptet af som .asp på serveren eller .vbs på min
lokale maskine virker det fint nok (pas på knækkede linier):

option explicit
   'on error resume next

Dim ServerName
Dim User
Dim password
Dim Groups
Dim theGroup

ServerName = "newsreader.mailgate.org"
user = "larshoffmann@*****.***"
password = "*****"



   
theGroup = WScript.Arguments(0)
   



'Database connection
dim ADOCon
   
'Database Recordset
dim ADORec
   
'Newsgroup info
'Retrieve by GROUP
'Format:
'211 n f l s
' n = estimated number of articles in group,
' f = first article number in the group,
' l = last article number in the group,
' s = name of the group.
dim groupInfo
   
'w3Socket object that connects to NNTP server
dim socket
   
'ID of current message to retrieve
dim currentMessage
   
'Headers of current message
'Retrieved by HEAD
dim headers
   
   
'Body of retrieved message
'Retrieved by BODY
dim Body
      
   
'Database text command
Dim SQL
   
'Last retrievable message in run
Dim lastMessage
   
'First retrievable message in run
Dim firstMessage
   
'Dictionary object to store headers
Dim dic
   
   


   function OpenConn( DBName )
      Set ADOCon = CreateObject("ADODB.Connection")
      ADOCon.Open
"DSN=intercambiodvd;UID=larshoff;PWD=*******;DATABASE=main;"
      
      set ADORec = CreateObject("ADODB.Recordset")
   end function




function openNNTPConnection()

   set socket = CreateObject("Socket.TCP")
   socket.Host = ServerName & ":119"

   Set dic=CreateObject("Scripting.Dictionary")

   socket.open()
   socket.WaitFor(vbnewline)
   
   'Sends username (see vars.asp)
   socket.SendLine("AUTHINFO USER " & user)
   socket.WaitFor(vbnewline)'socket.WaitFor("381")
   
   'Sends password (see vars.asp)
   socket.SendLine("AUTHINFO PASS " & password)
   socket.WaitFor(vbnewline)'socket.WaitFor("281")
   
   'Sets group according to Querystring
   socket.SendLine("GROUP " & theGroup)
   socket.WaitFor(vbnewline)
   
   'returns newsgroup info
   groupInfo = socket.buffer
   
end function




function getLastIDMessage()
   dim newsgroupInfoArray
   newsgroupInfoArray = split(groupInfo)
   
   getLastIDMessage=newsgroupInfoArray(3)
   
end function



function getfirstIDMessage(group)
   
   dim newsgroupInfoArray
   newsgroupInfoArray = split(groupInfo)
   
   
   dim tempFirst
   
   
   SQL= "SELECT lastRead FROM groups WHERE [Group] = '" & group & "'"
   
   set adorec = adocon.execute(SQL)
   
   if not adorec.eof then
      tempFirst = adorec.fields("lastRead")
   else
      tempFirst = newsgroupInfoArray(2)
   end if
   
   if lastMessage - tempfirst > 50 then
      tempFirst = lastMessage - 50
   end if
   
   getFirstIDMessage= tempFirst
   
end function


function retrieveHeaders(idMessage)
   dim messageTranslated
   
   socket.sendline("STAT " & idMessage)
   socket.Waitfor(vbnewline)
   
   socket.SendLine("HEAD")
   socket.Waitfor("." & vbnewline)

   retrieveHeaders = socket.buffer
   

end function

function retrieveBody()
   
   socket.SendLine("BODY")
   socket.Waitfor("." & vbnewline)

   retrieveBody = socket.buffer
   

end function


function splitHeaders(Headers)

   dim headersArray
   dim i,j
   dim headerLine
   
   headersarray = split(Headers,vbnewline)
   dic.RemoveAll

   for i = 0 to ubound(headersarray)
      headerline= split(headersarray(i),":",2)
      
      if ubound(headerline) = 1 then
         call dic.Add(trim(headerLine(0)),trim(headerline(1)))

      end if
   next
   
   
   
end function



function insertHeadersInDB()

   
   dim otherSQL
   
   
   
   SQL="INSERT INTO messages "
   SQL = SQL & "([From],[Newsgroups],[Subject],[Message-ID],
[References],[Date],[retrieved],[Body]) "
   SQL = SQL & "VALUES("
   SQL = SQL & "'" & left(replace(dic.Item("From"),"'","''"),200)
&"'," 'FROM
   SQL = SQL & "'" & left(replace(dic.Item
("Newsgroups"),"'","''"),255) &"'," 'NEWSGROUPS
   SQL = SQL & "'" & left(replace(dic.Item("Subject"),"'","''"),255)
& "'," 'SUBJECT
   SQL = SQL & "'" & left(replace(dic.Item("Message-
ID"),"'","''"),200) & "'," 'Message-ID
   
   if dic.Item("References") <> "" then
      SQL = SQL & "'" & replace(dic.Item("References"),"'","''") &
"'," 'References
      
      otherSQL = "UPDATE [Messages] set children= children+1 WHERE
[Message-ID] IN (" & replace(replace(replace(replace(dic.Item
("References"),"'","''"),"<","'<"),">",">'")," ",",") & ")"
      
      ADOCon.Execute(otherSQL)
   else
      SQL = SQL & "Null," 'Empty References
   end if
   SQL = SQL & "'" & left(replace(dic.Item("Date"),"'","''"),40)
&"'," 'Date
   SQL = SQL & "getdate(),"
   SQL = SQL & "'" & replace(Body,"'","''") &"')" 'Date
   
   
   ADOCon.Execute(SQL)
   
   
   if err.number <> 0 then
      'do something
   end if
   
end function


function updateGroupInfo()
   
   SQL = "SELECT * FROM groups WHERE [Group]='" & theGroup & "';"
   
   set adorec= ADOCon.Execute(SQL)
   
   if not ADORec.eof then
   
      SQL = "UPDATE Groups SET Lastread = " & lastMessage & " WHERE
[group] = '" & theGroup & "';"
   else
      SQL = "INSERT INTO Groups ([Group],[LastRead]) VALUES('" &
theGroup & "'," & lastMessage & ");"
   end if
      
   ADOCon.Execute(SQL)
   
end function


function closeNNTPConnection()

   socket.sendline("QUIT")

   socket.close()
   set socket = nothing
end function



function closeConn()

   adorec.close
   set adorec = nothing

   adocon.close
   set adocon = nothing
   
   set dic = nothing
end function




   
   if theGroup <> "" then
      
      call OpenConn("news.mdb")
         call openNNTPConnection()
            lastMessage = getLastIDMessage()
            firstMessage = getfirstIDMessage(theGroup)
            
            for currentmessage = firstmessage + 1 to
lastMessage
               headers = retrieveHeaders(currentMessage)
               body = retrieveBody()   
               call splitHeaders(headers)
               call insertHeadersInDB()
            
            next
         call updateGroupInfo()   
         call closeNNTPConnection()
      call closeConn()
      

   end if


Thygesen (21-10-2002)
Kommentar
Fra : Thygesen


Dato : 21-10-02 08:31

> > "Lars Hoffmann" <lars@hoffmann.ac> skrev i en meddelelse
> >> Thygesen escribió / skrev
> >>
> >> Jeg bruger w3sockets fra dimac.
> >>
> >> Det er skide nemt, så jeg smider lige noget Sourcekode ef5ter dig
> >> så du kan se hvordan jeg snakker med serveren:
> >>
> >> <kode>
> >
> > Du kan vel ikke sende hele koden, så vil jeg være meget taknemlig.
> > Jeg kan nemlig ikke få det til at virke.
>
> Jo naturligvis.
>
> <kode>

Jeg fik desværre ikke set at det var koden til at hente meddelelserne fra
nyhedsgruppen du havde sendt i nyhedsgruppen, jeg troede det var asp kode
til at sende til nyhedsgrupper. Det er nemlig koden til at sende til
nyhedsgrupper med socket.tcp jeg ikke kan få til at virke. Du har vel ikke
også noget kode der kan det?

Mvh. Christoffer Thygesen



Lars Hoffmann (21-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 21-10-02 08:45

"Thygesen" <cht@cht.dk> escribió

> Det er nemlig koden til at sende til
> nyhedsgrupper med socket.tcp jeg ikke kan få til at virke. Du har
vel ikke
> også noget kode der kan det?

Nej, dertil er jeg ikke kommet endnu, men du kunne jo poste din kode
her og fortælle hvad det er der ikke virker.



Thygesen (23-10-2002)
Kommentar
Fra : Thygesen


Dato : 23-10-02 12:14

"Lars Hoffmann" <lars@intercambiodvd.com> skrev:
> > Det er nemlig koden til at sende til nyhedsgrupper med
> > socket.tcp jeg ikke kan få til at virke. Du har vel ikke
> > også noget kode der kan det?
>
> Nej, dertil er jeg ikke kommet endnu, men du kunne jo poste din kode
> her og fortælle hvad det er der ikke virker.

ok, her er det kode jeg har fået lavet.

Når jeg tester koden skriver den:

281 Ok

og jeg modtager også en besked via e-mail fra News Administrator
<autoreply@news.tele.dk> med emnet: Automatisk svar paa din test besked.

Hvor der står følgende:

Din artikel <ap5vsb$isk$1@sunsite.dk> blev modtaget
af newsman.news.tele.dk Wed, 23 Oct 2002 13:27:10 CEST af foelgende vej/path
newsman.news.tele.dk!news.tele.dk!sunsite.dk!not-for-mail

Men der bliver ikke vist nogen meddelelse i nyhedsgruppen



Set objSocket = Server.CreateObject("Socket.TCP")
objSocket.Host = newsserver & ":119"

objSocket.Open

objSocket.TimeOut = 15000

objsocket.WaitFor(vbnewline)

'Sends username (see vars.asp)
objsocket.SendLine("AUTHINFO USER " & user)
objsocket.WaitFor(vbnewline)'socket.WaitFor("381")

'Sends password (see vars.asp)
objsocket.SendLine("AUTHINFO PASS " & pass)
objsocket.WaitFor(vbnewline)'socket.WaitFor("281")

'Sets group according to Querystring
'objsocket.SendLine("GROUP " & "dk.test")
'objsocket.WaitFor(vbnewline)

'returns newsgroup info
groupInfo = objsocket.buffer

response.write groupInfo

'--- send besked

objSocket.SendLine("POST")

senddata = senddata & "From: ""Thygesen"" <cht@cht.dk>" & Chr(13) & Chr(10)
senddata = senddata & "Newsgroups: dk.test" & Chr(13) & Chr(10)
senddata = senddata & "Subject: test 49208908" & Chr(13) & Chr(10)
senddata = senddata & "Date: Sat, 19 Oct 2002 19:15:15 +0200" & Chr(13) &
Chr(10)
senddata = senddata & "Lines: 3" & Chr(13) & Chr(10)
senddata = senddata & "Organization: CHT.dk" & Chr(13) & Chr(10)
senddata = senddata & "X-Priority: 3" & Chr(13) & Chr(10)
senddata = senddata & "X-MSMail-Priority: Normal" & Chr(13) & Chr(10)
senddata = senddata & "X-Newsreader: Microsoft Outlook Express
6.00.2600.0000" & Chr(13) & Chr(10)
senddata = senddata & "X-MimeOLE: Produced By Microsoft MimeOLE
V6.00.2600.0000" & Chr(13) & Chr(10)
senddata = senddata & "" & Chr(13) & Chr(10)
senddata = senddata & "test 4324839489" & Chr(13) & Chr(10)

senddata = senddata & Chr(13) & Chr(10) & "."

objSocket.wait()

tmpBuffer = objSocket.Buffer
Response.Write Server.HTMLEncode(tmpBuffer) & "<hr>"

objSocket.SendLine(senddata)

objSocket.wait()

tmpBuffer = objSocket.Buffer
Response.Write Server.HTMLEncode(tmpBuffer) & "<hr>"

objSocket.Close


Mvh. Christoffer Thygesen





Lars Hoffmann (23-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 23-10-02 20:20

Thygesen escribió / skrev

> Din artikel <ap5vsb$isk$1@sunsite.dk> blev modtaget
> af newsman.news.tele.dk Wed, 23 Oct 2002 13:27:10 CEST af foelgende
> vej/path newsman.news.tele.dk!news.tele.dk!sunsite.dk!not-for-mail
>
> Men der bliver ikke vist nogen meddelelse i nyhedsgruppen

Jeg kan nu tydeligt se din besked. Den ser ud til at være kommet fint
frem.
Med venlig hilsen
Lars Hoffmann

Thygesen (23-10-2002)
Kommentar
Fra : Thygesen


Dato : 23-10-02 21:19

"Lars Hoffmann" <lars@intercambiodvd.com> skrev
>
> > Din artikel <ap5vsb$isk$1@sunsite.dk> blev modtaget
> > af newsman.news.tele.dk Wed, 23 Oct 2002 13:27:10 CEST af foelgende
> > vej/path newsman.news.tele.dk!news.tele.dk!sunsite.dk!not-for-mail
> >
> > Men der bliver ikke vist nogen meddelelse i nyhedsgruppen
>
> Jeg kan nu tydeligt se din besked. Den ser ud til at være kommet fint
> frem.

Er du sikker på at det er den meddelelse jeg har sendt med socket.tcp du kan
se. Kan du ikke lige komme med et messageID på den/de meddelelser du kan se?

Mvh. Christoffer Thygesen



Lars Hoffmann (23-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 23-10-02 22:05

Thygesen escribió / skrev

> Er du sikker på at det er den meddelelse jeg har sendt med
> socket.tcp du kan se. Kan du ikke lige komme med et messageID på
> den/de meddelelser du kan se?


Det er det messageID som du selv kom med: <ap5vsb$isk$1@sunsite.dk>. De
kan også ses på google:
http://groups.google.com/groups?as_umsgid=

Med venlig hilsen
Lars Hoffmann

Thygesen (24-10-2002)
Kommentar
Fra : Thygesen


Dato : 24-10-02 18:55

"Lars Hoffmann" <lars@intercambiodvd.com> skrev
> > Er du sikker på at det er den meddelelse jeg har sendt med
> > socket.tcp du kan se. Kan du ikke lige komme med et messageID på
> > den/de meddelelser du kan se?
>
> Det er det messageID som du selv kom med: <ap5vsb$isk$1@sunsite.dk>. De
> kan også ses på google:
> http://groups.google.com/groups?as_umsgid=

Ok, jeg må give dig ret, det ser ud til at virke. Mange tak for at du lige
testede det. Jeg tror at grunden til at jeg ikke så dem var at jeg har
defineret datoen forkert (en tidligere dato), så jeg fandt og mine tidligere
indlæg afsendt med socket.tcp

Mvh. Christoffer Thygesen

http://CHT.dk





Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 17:47

"Thygesen" <cht@cht.dk> wrote
> I øjeblikket fungere det bare ved at jeg har en side åben på serveren, der
> refresher hvert 5. minut, som henter de nye meddelelser, det fungere fint,
> jeg har prøvet med noget vbs,
> men har ikke kunnet få det til at virke.

Hvilket er det du ikke har fået til at virke?

Hvis du alligevel har adgang til serveren så vil jeg da anbefale dig at lave
en vbs fil som du sætter op i "Scheduled Tasks" til at hente indlægene hvert
5. minut, det er lidt nemmere end din browserløsning.

> Jeg kunne godt tænke mig at høre hvad du bruger af komponent til at hente
> meddelelserne fra nyhedsgrupperne.

Uden at vide det vil jeg gætte på at Lars bruger enten AspNNTP en
hjemmelavet komponent eller en Socket komponent, eftersom at disse svjv er
de eneste muligheder man pt har.

--
Jakob Andersen



Thygesen (12-10-2002)
Kommentar
Fra : Thygesen


Dato : 12-10-02 18:23

"Jakob Andersen" <jakob@effectus.dk> wrote in message
news:ao9jpu$2840$1@news.cybercity.dk...
> "Thygesen" <cht@cht.dk> wrote
> > I øjeblikket fungere det bare ved at jeg har en side åben på serveren,
der
> > refresher hvert 5. minut, som henter de nye meddelelser, det fungere
fint,
> > jeg har prøvet med noget vbs,
> > men har ikke kunnet få det til at virke.
>
> Hvilket er det du ikke har fået til at virke?

Det var at hente meddelelserne med en vbs fil at jeg ikke havde fået til at
virke.

> > Jeg kunne godt tænke mig at høre hvad du bruger af komponent til at
hente
> > meddelelserne fra nyhedsgrupperne.
>
> Uden at vide det vil jeg gætte på at Lars bruger enten AspNNTP en
> hjemmelavet komponent eller en Socket komponent, eftersom at disse svjv er
> de eneste muligheder man pt har.

ok, grunden til at jeg gerne ville vide det var at jeg ville høre om der
findes noget hurtigere og måske også bedre. Jeg synes nemlig ikke at det går
særlig hurtigt når den henter meddelelserne fra newsserveren, men det
betyder jo heller ikke så meget, hvor hurtig den er til at gemme i
databasen.

Mvh. Christoffer Thygesen



Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 18:51

"Thygesen" <cht@cht.dk> wrote
> Det var at hente meddelelserne med en vbs fil at jeg ikke havde fået til
at
> virke.

Når du laver en VBS fil er der generelt tre ting der adskiller sig fra når
du laver ASP.

1. Du kan ikke bruger Response.*, Session.*, Application.*, Request.*,
Server.*
2. Du skal ikke bruge <% og %>
3. Du skal blot skrive CreateObject istedet for Server.CreateObject når du
instansierer dine ADO objekter.

Skriv endelig hvis du har problemer med det.
--
Jakob Andersen



Thygesen (12-10-2002)
Kommentar
Fra : Thygesen


Dato : 12-10-02 19:17

"Jakob Andersen" <jakob@effectus.dk> wrote in message
news:ao9ng3$2c1s$1@news.cybercity.dk...
>
> Når du laver en VBS fil er der generelt tre ting der adskiller sig fra når
> du laver ASP.
>
> 1. Du kan ikke bruger Response.*, Session.*, Application.*, Request.*,
> Server.*
> 2. Du skal ikke bruge <% og %>
> 3. Du skal blot skrive CreateObject istedet for Server.CreateObject når du
> instansierer dine ADO objekter.

Ja, så kom min vbs fil også til at virke.

Mvh. Christoffer Thygesen



Jesper Stocholm (12-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 12-10-02 21:19

Jakob Andersen wrote :

> "Thygesen" <cht@cht.dk> wrote
>> Det var at hente meddelelserne med en vbs fil at jeg ikke havde fået
>> til
> at
>> virke.
>
> Når du laver en VBS fil er der generelt tre ting der adskiller sig fra
> når du laver ASP.
>
> 1. Du kan ikke bruger Response.*, Session.*, Application.*, Request.*,
> Server.*
> 2. Du skal ikke bruge <% og %>
> 3. Du skal blot skrive CreateObject istedet for Server.CreateObject
> når du instansierer dine ADO objekter.

nu vi snakker om ting vbs kan som asp ikke kan:

Er det muligt at sætte et vbs-script til at køre vi ASP - men så man ikke
behøver at vente på, at det bliver færdigt ?



--
Jesper Stocholm
http://stocholm.dk
Overvejer du at købe bøger ved saxo.dk ? Kig først på
http://www.firmcheck.dk/Info.asp?website=www.saxo.dk

Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 21:24

"Jesper Stocholm" <jespers@stocholm.invalid> wrote
> Er det muligt at sætte et vbs-script til at køre vi ASP - men så man ikke
> behøver at vente på, at det bliver færdigt ?

Jeps, Run Metoden på wshShell har en parameter hvori du angiver om der skal
ventes eller ej.
<http://msdn.microsoft.com/library/en-us/script56/html/wsmthrun.asp>

--
Jakob Andersen



Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 22:07

Jakob Andersen escribió / skrev

> http://msdn.microsoft.com/library/en-us/script56/html/wsmthrun.asp

Har man i en vbs fil noget der svare til querystring? Jeg kalder min ASP
fil med: ngroups.asp?group=dk.test, hvordan får jeg den værdi overførst
til et script i en .vbs fil?

Jakob Andersen (12-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 12-10-02 23:12

"Lars Hoffmann" <lars@hoffmann.ac> wrote
> Har man i en vbs fil noget der svare til querystring? Jeg kalder min ASP
> fil med: ngroups.asp?group=dk.test, hvordan får jeg den værdi overførst
> til et script i en .vbs fil?

Ja, argumenter f.eks.

mit.vbs argument1 argument2

<http://msdn.microsoft.com/library/en-us/script56/html/wsProArguments.asp>

--
Jakob Andersen



Lars Hoffmann (13-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 13-10-02 11:26

Jakob Andersen escribió / skrev

> Ja, argumenter f.eks.
>
> mit.vbs argument1 argument2

Ok, fint nok, nu virker det i mit ASP script, men hvis jeg laver det i
en VBS fil hænger scriptet bare. Hvordan kan man få en .vbs fil til at
vise fejlmeddelelser i browseren?

Jakob Andersen (13-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 13-10-02 11:35

"Lars Hoffmann" <lars@hoffmann.ac> wrote
> Ok, fint nok, nu virker det i mit ASP script, men hvis jeg laver det i
> en VBS fil hænger scriptet bare. Hvordan kan man få en .vbs fil til at
> vise fejlmeddelelser i browseren?

Jeg har aldrig prøvet det eftersom jeg altid har testet mine scripts før jeg
sætter ASP til at køre dem, men prøv at se om der ikke ligger noget i Err
objektet.

--
Jakob Andersen



Lars Hoffmann (12-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 12-10-02 23:55

Så har jeg med hjælp fra gruppen fået min side til at gemme nntp indlæg
i en database. Det virker godt og solidt (har indtil nu hente ca 5000
indlæg uden en eneste fejl), så den del del af problemet betegner jeg
som løst.

Næste problem er for mig at tråde indlæggene. Faktisk er jeg ikke helt
med på hvordan jeg bør gøre det.

Jeg kan lave en recursiv funktion der for hver gang den får fordret et
message-ID søger efter "children" i database. Problemet med dette er at
det giver en fandens masse database kald.

Nogen der har en god ide til hvordan jeg kan klare det med et enkelt
(eller kun ganske få) database kald?

Med venlig hilsen
Lars hoffmann

Jesper Stocholm (13-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 13-10-02 09:00

Lars Hoffmann wrote :

> Jeg kan lave en recursiv funktion der for hver gang den får fordret et
> message-ID søger efter "children" i database. Problemet med dette er at
> det giver en fandens masse database kald.
>
> Nogen der har en god ide til hvordan jeg kan klare det med et enkelt
> (eller kun ganske få) database kald?

hent dine headers og læg dem ind i et array. Så behøver du kun ét kald til
din database.

:)

--
Jesper Stocholm
http://stocholm.dk
Overvejer du at købe bøger ved saxo.dk ? Kig først på
http://www.firmcheck.dk/Info.asp?website=www.saxo.dk

Jakob Andersen (13-10-2002)
Kommentar
Fra : Jakob Andersen


Dato : 13-10-02 09:27

"Lars Hoffmann" <lars@hoffmann.ac> wrote
> Næste problem er for mig at tråde indlæggene. Faktisk er
> jeg ikke helt med på hvordan jeg bør gøre det.
>
> Nogen der har en god ide til hvordan jeg kan klare det
> med et enkelt (eller kun ganske få) database kald?

Start med kun at arbejde med Headers som Jesper foreslår, eller alternativt
arbejdt med et træstruktur index når du sætter indlægene ind.

Jeg har før leget med kun at have en post pr. indlæg og så have en stump XML
med hele tråden i, dette er effektivt til trådning da man så kan lægge selve
rekursiviteten i XSLT men det giver dog en lille smule forringelse i
hastigheden når man skal vise det enkelte indlæg da man skal til at "pille"
det ud af XMLen.

--
Jakob Andersen



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste