Avatar billede speedy Nybegynder
09. december 1999 - 18:55 Der er 13 kommentarer og
1 løsning

Netværks programmering med ICS

Hejsa.

Jeg kunne godt tænke mig at komme igang med netværksprogrammering, og jeg har hentet komponentpakken ICS. Men jeg har ikke lige en ide til hvordan man gør. Jeg kunne f.eks. starte med et program der overfører teksten fra et Editfelt på en computer til et Editfelt på en anden.

Håber der er nogle der lige kan sætte mig igang.
Avatar billede speedy Nybegynder
09. december 1999 - 19:33 #1
Og så lige et spørgsmål mere. Hvilken af komponenterne skal jeg bruge ?
Avatar billede justincase Nybegynder
09. december 1999 - 19:48 #2
Jeg kan godt lave et lille eksempel til dig, men det bliver ikke lige nu.
Indtil videre så prøv at kigge på eksemplerne. Der er f.eks en chat demo. Åben server projektet, kompiler det. Åben så klient demoen og kompiler den. Kør derefter begge. så kan du se hvordan overførelsen ske.

ICS er udover det de stærkeste internet komponenter jeg er stødt på. (inkluderende dem du betaler for)

Måske burde du kigge på hans middleware komponenter istedet. Det er disiderede client/server komponenter.
Avatar billede speedy Nybegynder
09. december 1999 - 19:51 #3
Jo tak, du må gerne lave et eksempel, men hvornår ?
Avatar billede chris13 Nybegynder
10. december 1999 - 08:14 #4
Hvor finder kan ICS komponenterne ?

mvh

Christian
Avatar billede speedy Nybegynder
10. december 1999 - 09:12 #5
Avatar billede chris13 Nybegynder
10. december 1999 - 09:54 #6
tak
Avatar billede delphi Nybegynder
13. december 1999 - 11:08 #7
Jeg ved ikke hvordan man bruger ICS (jeg har downloadet den for længe siden, så har jeg aldrig taget mig sammen til at kigge på dem!) - men mener egentligt at Delphi 5's egne INet (fastnet) komponenter er ganske udemærkede. 
Nedenstående er et lille hurtigt demo program.  Det er klasket sammen på to minutter. 
Dets mainform indeholder 5 lables, 4 edit boxe og two buttons. 
Edit1 benyttes til at skrive IP-addressen på modtageren.
Edit2 indeholder den text der skal sendes. 
Edit3 og Edit4 indeholder modtaget text og IPadressen på afsenderen af den modtagede text.

Desuden bruges to Fastnet komponenter, i dette tilfælde en TNMMsg og en TNMMSGServ, der benyttes til henholdsvis afsendelse og modtagelse af text.  Har man kun brug for den ene funktion i programmet, kan man se'følig nøjes med en komponent.


unit MainForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  WinSock, Psock, NMMSG, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    buClose: TButton;
    buTransmit: TButton;
    NMMsg1: TNMMsg;
    NMMSGServ1: TNMMSGServ;
    procedure FormCreate(Sender: TObject);
    procedure buCloseClick(Sender: TObject);
    procedure NMMSGServ1MSG(Sender: TComponent; const sFrom, sMsg: String);
    procedure buTransmitClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var
  wVersionRequested : WORD;
  wsaData          : TWSAData;
  p                : PHostEnt;
  s                : array[0..128] of char;
  p2                : pchar;
begin
  {Start up WinSock}
  wVersionRequested := MAKEWORD(1, 1);
  WSAStartup(wVersionRequested, wsaData);

  {Get the computer name}
  GetHostName(@s, 128);
  p := GetHostByName(@s);

  {Get the IpAddress}
  p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^);

  Label4.Caption := Label4.Caption + p2;
  WSACleanup;
end;

procedure TForm1.buCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TForm1.NMMSGServ1MSG(Sender: TComponent; const sFrom, sMsg: String);
begin
  Edit3.Text := sMsg;
  Edit4.Text := NMMSGServ1.RemoteIP;
end;

procedure TForm1.buTransmitClick(Sender: TObject);
begin
  NMMsg1.Host    := Edit1.Text;
  NMMsg1.FromName := 'FooBar';
  NMMsg1.PostIt(Edit2.Text);
end;

end.


NiP/Delphi
Avatar billede delphi Nybegynder
13. december 1999 - 11:11 #8
Ups: I FormCreate rutinen foregår der noget Magi - Resultatet af anstrengelserne er at Label4 får en text i retning af: 'Own IP-address: 10.15.5.107'

Rutinen er beskrevet i en anden post om hvorledes man finder sin lokale IP-adresse.

NiP
Avatar billede speedy Nybegynder
13. december 1999 - 21:42 #9
Tak skal du have. Det virker fint. Hvordan kan det være, at hvis man ikke har programmet åben, forsøger den at logge på internettet?
Avatar billede speedy Nybegynder
14. december 1999 - 07:38 #10
Ups.

Jeg mente selvfølgelig hvis man ikke har programmet åben på begge maskiner.
Avatar billede delphi Nybegynder
14. december 1999 - 08:27 #11
Hmm det ved jeg faktisk ikke.  Det må være noget mere dybtliggende end lige netop de benyttede koponenter.  Et bud kunne være, at de benytter sig af en netværksprotokol (TCP/IP?), som ikke er aktiveret/loadet før du har lavet en default logon til I-nettet?

NiP
Avatar billede lrj Nybegynder
15. december 1999 - 00:33 #12
Mon ikke nærmere det har noget at gøre med opsætningen af routes på de to maskiner - og hvis det ønskede ikke kan findes på lokalnettet, søges på internettet.
Avatar billede speedy Nybegynder
15. december 1999 - 13:45 #13
Det kan godt ske, men jeg lagde mærke til, at på den ene maskine, prøver den at logge på internettet selvom programmet er startet på begge maskiner. Kan man sørge for at den ikke prøver at logge på ligemeget hvad ??
Avatar billede lrj Nybegynder
29. december 1999 - 13:15 #14
Nemmeste er at afinstallere inettet....

Half Life lavede noget tilsvarende i de tidligere versioner - loggede på nettet når man startede det - og det selvom det var diaalup. SÅ tilbage til windows og tryk på "anuller" og vente på en timeout...

Tror ikke der er så meget at gøre ved det...
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