Avatar billede hatecaps Nybegynder
06. januar 2000 - 14:07 Der er 6 kommentarer og
1 løsning

Tre_delt NT/Internet spørgsmål

Jeg har to applikationer, en med et serversocket komponent, og en med et clientsocket component. Applikationen med clientsocket'en sender en komplet sti for an angivet fil (inkl. filnavn) til applikationen med serversocket'en. Så vidt så godt, men nu har jeg tre problemer:

1. Hvordan kan jeg i applikationen med serversocket'en omdanne det IP# der ligger i serversocket1.socket.remoteaddress til maskinnavnet på afsenderen ?

2. Da den transferrede filsti ikke nødvendigvis er lig maskinnavn+filsti, er jeg nødt til at finde den "sharede" sti til filen fra apllikationen med serversocket'en. Hvordan gør jeg det ?

3. Hvordan tjekker jeg om en maskine har forbindelse til internettet, uden at starte en dial-up af den ene eller anden slags hvis der ikke er forbindelse ?

Hvis du kan svare på et eller flere af disse spørgsmål, så gi' lyd. Jeg kan eventuelt dele pointene mellem flere svar
Avatar billede svindler Nybegynder
06. januar 2000 - 14:12 #1
3. Check om der er en ip-adresse på ppp-interfacet (med mindre du har indtastet en fast ip-adresse)
Avatar billede hatecaps Nybegynder
06. januar 2000 - 18:04 #2
aha, det er jo meget godt, men hvordan gør jeg det ?, og hvad gør jeg hvis jeg har en fast IP adresse ?
Avatar billede hatecaps Nybegynder
06. januar 2000 - 22:57 #3
glem alt om nr. 1.  jeg har fundet en løsning til det spørgsmål
Avatar billede svindler Nybegynder
07. januar 2000 - 00:31 #4
Det skulle have været en kommentar, jeg kan ikke programmere i Delphi, men kunne formodentlig stave mig frem til en løsning i C, ved lidt ihærdig genoptræning.
Det burde også være muligt at checke for, om et interface er oppe. Så vil det også fungere, selvom du har angivet en fast ip-adresse.
Avatar billede sjensen Nybegynder
07. januar 2000 - 14:53 #5
Vedr. 2:

Prøv med denne:

procedure TForm1.search_netcon;
const
  MAX_NEIGHBORS = 20;
Var
  NetRes    : Array [0..MAX_NEIGHBORS] Of TNetResource;
  NNError,
  hEnum,
  EntryCount,
  NetResLen  : DWORD;
  loop1 : Integer;
Begin
  hEnum := 0;
  Try
    NNError := WNetOpenEnum (RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, Nil, hEnum);
    If NNError = NO_ERROR Then
    Begin
      While NNError <> ERROR_NO_MORE_ITEMS Do
      Begin
        EntryCount := 1;
        NetResLen := SizeOf (NetRes);
        NNError := WNetEnumResource (hEnum, EntryCount, @NetRes, NetResLen);
        If (NNError = NO_ERROR) Then
        Begin
          For loop1 := 1 to EntryCount Do
          Begin
            listbox1.items.add(NetRes[0].lpProvider);
          End;
        End Else
        Begin
          Break
        End;
      End;
      WNetCloseEnum (hEnum)
      // close enum
    End
  Except
    On exception Do
        ShowMessage ('Network Neighborhood Detection Failed.')
End;
End;

Det er bare sådan en lille rutine jeg har liggende (eller har stjålet et eller andet sted fra)

sjensen
Avatar billede hatecaps Nybegynder
07. januar 2000 - 21:38 #6
sjensen >> det var alle tiders, nu mangler jeg bare et svar til #3, så kan jeg begynde at dele pointene ud ;-)
Avatar billede sjensen Nybegynder
09. januar 2000 - 12:23 #7
Vedr. del 3 (og lidt 1.)

På www.magsys.co.uk kan du downloade en shareversion (med source) af deres DUN-Manager, (Dial-Up Networking Manager) der er et komplet sæt rutiner til styring af Dial-Up networking (både modem og Isdn).

I mellem disse rutiner og funktioner er der bl.a. nogle der fortæller om man p.t. er on-line, og endda i givet fald, hvilket opkaldskort/modem der er brugt til opkoblingen.

Desuden vil man kunne få det IP-nummer provideren tildelte en ved opkoblingen, hvis man ikke har et fast nummer.

sjensen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester