delphi en netwerk connecties (vervolg)

Pagina: 1
Acties:

  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
sorry dat ik een nieuwe topic maak, Janoz. maar je email is ongeldig en icq heb ik hier niet.

dit is het vervolg van delphi en seriele connecties

ik heb nu wat componenten gevonden die geen foutmelding geven. ik gebruik nu tcpclient en tcpserver.
dat de server werkt zal wel (kan ik niet testen) en de client werkt waarschijnlijk wel, als ik iets laat verzenden blijft het programma enige tijd stilhangen (vermoedelijk pogingen te doen om te verzenden) maar er kan geen connectie worden gemaakt (afgeleid uit het feit dan mijn rij beep; 's niet afgaan).

server wordt gestart op de volgende manier:
procedure TLeerlingenadministratie.runserverClick(Sender: TObject);
begin
TcpServer1.LocalPort := '55555';
TcpServer1.Active := True;
end;
(ik hoop dat 55555 geldig is)

en verzenden gaat zo:
procedure TLeerlingenadministratie.SendLl(Sender: TObject; leerling:String);
var
tel1: Integer;
begin
TcpClient1.RemoteHost := 'college\026_02';
TcpClient1.RemotePort := '55555';
llnaambox.Text := '00001';
try
llgebdatbox.Text := '00002';
if TcpClient1.Connect then
begin
llklasbox.Text := '00003';
beep; beep; beep; beep; beep; beep; beep;
for tel1 := 0 to length(leerling) - 1 do
TcpClient1.Sendln(leerling[tel1]);
end;
finally
lladresbox.Text := '00004';
beep; beep;
TcpClient1.Disconnect;
end;
end;

die textbox-en met 0000. zijn ter identificatie. 00003 komt niet op beeld, die komt ook pas als er connectie is (if TcpClient1.Connect then).

zo ver ik kan zijn staat alles goed, als er een fout is hoor ik dat graag.
indien er geen fout is: kan het zijn dat het niet werkt omdat ik op een goed beveiligd netwerk tussen 2 computers een connectie probeer te maken?

het is een schoolnetwerk met een domein, iedereen heeft een paswoord nodig om een pc te gebruiken.

en: kan ik deze code gebruiken om lokaal te testen, dat dezelfde computer zowel verzend als ontvangt?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

janoz@tweakers.net ongeldig :?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Johnny5 schreef op 18 september 2002 @ 12:48:
dat de server werkt zal wel (kan ik niet testen)
Dat kun je wel:
telnet localhost 55555

Ik zou wel een poortnummer onder de 32768 pakken als ik jou was, en voorbeeldcode in code-tags plaatsen (<code=delphi> met rechte haken)

Met dit telnetvoorbeeld kun je handmatig je server testen.

Professionele website nodig?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Johnny5 schreef op 18 september 2002 @ 12:48:
zo ver ik kan zijn staat alles goed, als er een fout is hoor ik dat graag.
indien er geen fout is: kan het zijn dat het niet werkt omdat ik op een goed beveiligd netwerk tussen 2 computers een connectie probeer te maken?
Lijkt me sterk dat er een firewall tussen 2 workstations zit (je impliceert dat ze op hetzelfde domain hangen) dus dat zou moeten werken.
het is een schoolnetwerk met een domein, iedereen heeft een paswoord nodig om een pc te gebruiken.
TCP stoort zich daar niet aan (lagere comms-layer)
en: kan ik deze code gebruiken om lokaal te testen, dat dezelfde computer zowel verzend als ontvangt?
Geen probleem.

Regel ff die code-tags, dan kan ik de code tenminste lezen.

Professionele website nodig?


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Weet je trouwens wel zeker of die remote hostnaam klopt?

Daarnaast.. Heb je al een delphi voorbeeldje van een client/server combi (vaak een simpel chat ding) gedownload?

En idd.. mijn naam is rood dus mijn mail is username@tweakers.net (mail in ICQ profile is opgeheven, maar laat ik vanwege spam gedoe gewoon daar staan)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
mijn hostnaam klopt, die staat naast mij en die zie je als je inlogd, die hebben we bovendien zelf ingesteld.

ik had een ander email adres achterhaald, janoz@dff.org ofzo.

die code tags komen eraan, zodra ik weet hoe het moet :)

  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
server wordt gestart op de volgende manier:
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
procedure TLeerlingenadministratie.runserverClick(Sender: TObject);
begin
  TcpServer1.LocalPort := '32222';
  TcpServer1.Active := True;
end;

procedure TLeerlingenadministratie.SendLl(Sender: TObject; leerling:String);
var
  tel1: Integer;
begin
  TcpClient1.RemoteHost := 'college\026_02';
{college is btw domeinnaam, is die perse nodig?}
  TcpClient1.RemotePort := '32222';
  llnaambox.Text := '00001';
  try
    llgebdatbox.Text := '00002';
    if TcpClient1.Connect then
    begin
      llklasbox.Text := '00003';
      beep; beep; beep; beep; beep; beep; beep;
      for tel1 := 0 to length(leerling) - 1 do
      TcpClient1.Sendln(leerling[tel1]);
    end;
  finally
    lladresbox.Text := '00004';
    beep; beep;
    TcpClient1.Disconnect;
  end;
end;


en dat telnet werkt trouwens niet "verbinding mislukt"

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Je kan het ook op dezelfde pc testen door 127.0.0.1 als ip te nemen of localhost als hostname.

Je kan gewoon de debugger gebruiken en die rare biepjes weghalen hoor.

Ik krijg zo langzamerhand de indruk dat dit een beetje te moeilijk voor je nog is. Je zit op de goede weg en je zou er zo toch echt zelf wel uit moeten kunnen komen. Debug (echt debuggen, geen rare biepjes) wat meer en stel gerichte vragen over echte problemen waar je een oplossing voor gezocht heb, maar niet uit komt. Anders blijven we je aan het handje houden. Als je al niet kon lopen dan val je toch om op het punt dat we je weer loslaten.

[ Voor 0% gewijzigd door LordLarry op 18-09-2002 13:55 . Reden: typo ]

We adore chaos because we like to restore order - M.C. Escher


  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
8)7 ja je hebt eigenlijk wel gelijk, maarja B) compergekken zijn nou eenmaal lui ;)

dan zal ik me nu weer lekker frustreren dat ik het niet in 1 keer kan vinden :)
HET LUKT ME WEL ..... ooit

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Johnny5 schreef op 18 September 2002 @ 13:13:
en dat telnet werkt trouwens niet "verbinding mislukt"
Dan draait je server niet en zit daar dus een fout :)

Waarom gebruik je niet gewoon de standaard TServerSocket component? Die werkt perfect voor zover ik 'm ooit gebruikt heb...

Professionele website nodig?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Johnny5 schreef op 18 september 2002 @ 13:13:
Delphi:
1
2
  TcpClient1.RemoteHost := 'college\026_02';
{college is btw domeinnaam, is die perse nodig?}
Kun je ook op commandline proberen:
ping 026_02
Als dit goed gaat heb je 'college' niet nodig, en anders zou ik nog even de fully qualified naam pingen:
ping college\026_02
Ik zou er zelf de voorkeur aan geven om op IP te werken... meestal betrouwbaarder.

Professionele website nodig?


  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
ip geven werkt niet, die veranderd telkens. DHCP.

TserverSocket? ik zal nog een keer alles doorspitten aan componenten.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

TServerSocket is bijna hetzelfde als TtcpServer. Beide door Borland gemaakt. TtcpServer werkt ook onder linux. TServerSocket niet, want die zit vast aan WinSock. Het maakt dus niet zo heel veel uit. Het zijn beide goed werkende componenten, daar kan het niet aan liggen.

We adore chaos because we like to restore order - M.C. Escher


  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
misschien leuk dat ik jullie op de hoogte houd :)
ik gebruik nu serversocket en clientsocket. hij geeft al geen foutmelding meer dat er iets misgaat met connecten ofdat hij helemaal niets doet. hij geeft nu errors OVER de connectie die blijkbaar al tot stand is gebracht _/-\o_

"Socket must be in blocking mode" is de error. ik zal dat toch wel kunnen vinden :)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Is dat serverside of clientside knaller? Nu kun je overigens wel weer met Telnet testen...

Professionele website nodig?


  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
het is client side, met de server uit zegt hij hetzelfde, dus client geeft de fout voordat er connectie is :( toch geen verbinding

kun je het geoloven? zit ik een hele ochtend naar blocking settings te zoeken, staan die gewoon in de property's tab links in beeld |:( 8)7

  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
grrr, ik heb alles op nonblocking staan en nu werkt het nog niet. "socket must be in blocking mode" komt nogsteeds. deze melding geeft hij op:
Delphi:
1
TheStream := TWinSocketStream.Create(ClientSocket1.Socket, 60000);


iemand hier meer ervaring mee?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Johnny5 schreef op 19 september 2002 @ 12:10:
grrr, ik heb alles op nonblocking staan en nu werkt het nog niet. "socket must be in blocking mode" komt nogsteeds. deze melding geeft hij op:
Delphi:
1
TheStream := TWinSocketStream.Create(ClientSocket1.Socket, 60000);

iemand hier meer ervaring mee?
Uhm misschien een stomme vraag: waarom ga je alles op non-blocking zetten als ie duidelijk zegt dat het op 'blocking mode' moet staan?

Ik kan wel geloven ja dat je geen stream kunt gebruiken als je op non-blocking werkt, die dingen zijn bedoeld voor synchrone processing. Zet de hele rotzooi gewoon op blocking...

Professionele website nodig?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Even voor de zekerheid opgezocht, en jawel hoor, in grote letters op de helppagina van TWinSocketStream:
Note: TWinSocketStream does not work with non-blocking sockets.

Professionele website nodig?


  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
ver**** G*D K**TE :| ik beredeneer: er is een fout dus waarschijnlijk staat hij op "blocking mode waardoor die ontstaat".
maar het moest zijn: er is een fout. zet em eens op blocking.

bekankt

  • Reptile209
  • Registratie: Juni 2001
  • Nu online

Reptile209

- gers -

'k Heb wel zo m'n twijfels over die servernaam: college\026_02. Wat doet die backslash daar? Of moet ik nu naar www.watbenjedan.com ?

Zo scherp als een voetbal!


  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
nah, daar hoef je niet heen. dat is de domein naam van het netwerk. die heb ik ondertussen weggehaald want zonder werkt het ook.

ik heb mijn probleem nu weer getraceert naar server pffff.

Socket Error 10061: WSAECONNREFUSED
This problem is caused by the host computer rejecting the connection due to excessive load or technical problems. Try to connect again later.
(ik gok op "technical problems")

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

CONNREFUSED krijg je ook als de hele poort niet beschikbaar is... probeer nu gewoon eens die telnet truc om te kijken of die server draait... :)

Professionele website nodig?


  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
owkie, met een werkend ander netwerk chat programma aan, lukt telnet niet! dus mijn vertrouwen in die "truc" is nu weg.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

ik denk dat je dan niet veel snapt van tcp/ip of er zit een firewall tussen of je hebt uberhaupt geen connectie met die andere computer. Probeer het eens met 2 progrmmatjes op de *zelfde* computer. Gewoon lokaal dus. localhost of 127.0.0.1

We adore chaos because we like to restore order - M.C. Escher


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Doe eens gewoon telnet localhost 25, als je NT/2k/XP hebt krijg je dan je SMTP server voor de kiezen... telnet werkt gewoon, en als ie het niet doet ligt de fout in jouw server.

Post gewoon je hele code eens, of als je het niet aan het forum vertrouwt mail me prive door... kan ik er vanavond eens naar kijken.

Professionele website nodig?


  • Johnny5
  • Registratie: Oktober 2001
  • Laatst online: 30-08-2025
tnx voor het aanbod, maar het is me al gelukt. ik heb een ander programma totaal geript, nouja ingevoegd en op de achtergrond mee laten draaien >:). nah is niet efficient maar het werkt wel.

en tnx voor al jullie help. het werkt nu
Pagina: 1