Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Net Send Mailslot selbst verarbeiten! (https://www.delphipraxis.net/139221-net-send-mailslot-selbst-verarbeiten.html)

hitzi 28. Aug 2009 09:21

Re: Net Send Mailslot selbst verarbeiten!
 
Zitat:

Zitat von J Kadison
Wie oben schon erwähnt habe ich diesen Dienst zuvor schon gestoppt. Und dann erst den slot erstellt =(

Wo?

Ich hatte das mal in der Art genutzt (gekürzt):
Delphi-Quellcode:

fMailSlot := CreateMailSlot('\\.\mailslot\messngr', 0, 0, nil);

[...]

iMsgSize : DWord;
iRead : DWord;
sMsg : string; //wird mit Unicode Delphi Probleme machen

[...]

if GetMailslotInfo(fMailslot, nil, iMsgSize, nil,nil) then begin
  if iMsgSize <> MAILSLOT_NO_MESSAGE then begin
    SetLength(sMsg, iMsgSize);
    if ReadFile(fMailslot, sMsg[1], iMsgSize, iRead, nil) then begin
      //in sMsg stehen alle Infos getrennt durch #0
    end;
  end;
end;

Luckie 30. Aug 2009 02:01

Re: Net Send Mailslot selbst verarbeiten!
 
Guck mal hier: http://assarbad.net/en/stuff/!export/ gerade gefunden.

alzaimar 30. Aug 2009 09:02

Re: Net Send Mailslot selbst verarbeiten!
 
Zitat:

Zitat von J Kadison
Allerdings wenn ich von einem Anderen PC mit net send eine Nachricht verschicken will, bekomme ich einen "Netzwerkfehler".
Also genau den Fehler, wie wenn "Net Send" deaktiviert ist.

Versende doch mal eine Mail mit der in meiner Unit implementierten Prozedur 'SendMail'. Wenn das funktioniert, ist der Mailslot korrekt eingerichtet.

Vielleicht erwartet das 'Net Send' noch etwas anderes

J Kadison 31. Aug 2009 16:02

Re: Net Send Mailslot selbst verarbeiten!
 
Hallo!

Also ich habe jetzt mal ein bisschen weiter getüftelt.

Habe jetzt eine funktionierende Sende- und Empfang-Routine in Meinem Programm welche auf einen X-Beliebigen Slot gelegt werden können.


Funktioniert superschnell.
Allerdings folgendes Problem:

Deaktiviere ich meinen "Nachrichtendienst" und lege mein Programm auf "MESSNGR" scheint dies ersteinmal zu funktionieren (über meine Senderoutine). Sende ich allerdings von einem anderen PC per "Net Send" bekomme ich folgenden Fehler:

Code:
./> net send TestUmgebung "MailSlotTest"
Beim Senden einer Nachricht an TestUmgebung trat ein Fehler auf.

Allgemeiner Netzwerkfehler aufgetreten.

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2136 eingeben.
Zitat:

Zitat von alzaimar
Versende doch mal eine Mail mit der in meiner Unit implementierten Prozedur 'SendMail'. Wenn das funktioniert, ist der Mailslot korrekt eingerichtet.

Vielleicht erwartet das 'Net Send' noch etwas anderes

Das vermute ich jetzt auch

Bei aktiviertem net send geht der Befehl einwandfrei durch.
Was könnte dieser Nachrichtendienst noch tun, was ich nicht mache?

Luckie 31. Aug 2009 21:16

Re: Net Send Mailslot selbst verarbeiten!
 
Zitat:

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2136 eingeben.
Und?

J Kadison 1. Sep 2009 05:25

Re: Net Send Mailslot selbst verarbeiten!
 
Zitat:

Zitat von Luckie
Zitat:

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2136 eingeben.
Und?


Hihi!

der war gut ^^

Als Ob microsoft hier ne fehlermeldung bringen würde, die einem weiter bringt ^^



Code:
.\>NET HELPMSG 2136

Allgemeiner Netzwerkfehler aufgetreten.


ERLÄUTERUNG

Ein allgemeiner Fehler in der Netzwerkhardware ist aufgetreten. Ursache dieses P
roblems kann ein Hardwarekonflikt sein, der durch verschiedene Serverbefehle and
erer Server hervorgerufen wurde (z.B. Verzeichnisreplikationsdienst).

AKTION

Wenden Sie sich an den Netzwerkadministrator. Die Ursache des Problems kann in d
er installierten Hardware oder Software des Computers liegen.
Auf gut deutsch, "der programmierer hatte selbst keine Ahnung, welchen Fehler er hier grad behandelt ?!

KAnn ich mir so einen netzwerkadministrator leasen damit der das behebt? xD

Ne, mal ernst, kann damit jemand was anfangen?

J Kadison 3. Sep 2009 16:45

Re: Net Send Mailslot selbst verarbeiten!
 
Hallo? Keiner eine Ahung?

Jemand ne idee, wo ich mich da noch erkundigen könnte? Ich habe nichts passendes gefunden. Wäre auch shcon dankbar für hinweise . . .

Kann es vielleicht sein, dass ich mein Programm als Dienst 'Nachrichtendienst' bzw 'messenger' einrichten muss? Könnte das funktioniueren? wenn ja wie geht sowas denn?


Hab jetzt noch ein bisschen Herumgeforscht . . . und zwar:

1. was komisch ist, ich habe mal Ports mit netstat überprüft und mir ist aufgefallen, dass sowohl bei eingeschaltetem dienst wie auch ausgeschaltet die Ports TCP und UDP 137-139 und 445 auf ABHÖREN stehen. Ist dies normal? sollten die nicht beim ausschalten geschlossen werden?
Kann der Fehler vielleicht darin liegen, dass ich portmäßig hier noch was machen muss?


Code:
Nachrichtendienst wird beendet.........
Nachrichtendienst wurde erfolgreich beendet.


C:\Dokumente und Einstellungen\Joshua>netstat -nao

Aktive Verbindungen

  Proto Lokale Adresse        Remoteadresse         Status          PID
  TCP   0.0.0.0:135            0.0.0.0:0              ABHÖREN        1056
  TCP   0.0.0.0:443            0.0.0.0:0              ABHÖREN        892
  TCP   0.0.0.0:445            0.0.0.0:0              ABHÖREN        4
  TCP   192.168.2.102:139      0.0.0.0:0              ABHÖREN        4
  TCP   192.168.2.102:139      192.168.2.100:4051     SCHLIESSEN_WARTEN   4
  TCP   192.168.2.102:139      192.168.2.100:4052     SCHLIESSEN_WARTEN   4
  TCP   192.168.56.1:139       0.0.0.0:0              ABHÖREN        4
  UDP   0.0.0.0:445            *:*                                    4
  UDP   0.0.0.0:500            *:*                                    488
  UDP   192.168.2.102:137      *:*                                    4
  UDP   192.168.2.102:138      *:*                                    4
  UDP   192.168.56.1:137       *:*                                    4
  UDP   192.168.56.1:138       *:*                                    4

C:\Dokumente und Einstellungen\Joshua>net start nachrichtendienst
Nachrichtendienst wird gestartet......
Nachrichtendienst wurde erfolgreich gestartet.


C:\Dokumente und Einstellungen\Joshua>netstat -nao

Aktive Verbindungen

  Proto Lokale Adresse        Remoteadresse         Status          PID
  TCP   0.0.0.0:135            0.0.0.0:0              ABHÖREN        1056
  TCP   0.0.0.0:443            0.0.0.0:0              ABHÖREN        892
  TCP   0.0.0.0:445            0.0.0.0:0              ABHÖREN        4

  TCP   192.168.2.102:139      0.0.0.0:0              ABHÖREN        4
  TCP   192.168.2.102:139      192.168.2.100:4051     SCHLIESSEN_WARTEN   4
  TCP   192.168.2.102:139      192.168.2.100:4052     SCHLIESSEN_WARTEN   4
  TCP   192.168.56.1:139       0.0.0.0:0              ABHÖREN        4
  UDP   0.0.0.0:445            *:*                                    4
  UDP   0.0.0.0:500            *:*                                    488
  UDP   192.168.2.102:137      *:*                                    4
  UDP   192.168.2.102:138      *:*                                    4
  UDP   192.168.56.1:137       *:*                                    4
  UDP   192.168.56.1:138       *:*                                    4
Falls Das relevant sein könnte . . .


Hat jetzt vielleciht jemand eine Idee?

bucksbunny 2. Okt 2009 15:35

Re: Net Send Mailslot selbst verarbeiten!
 
Hi Joshi,
Mailslot unterhält sich per Port UDP 137, wenn dir das weiterhilft! Du kannst da auch Nachrichten an Programme direkt adressieren oder allgemein, aber das weisst du ja ;)

gruß,
bucksbunny


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:26 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz