Autor Thema: Winsock und LotusScript  (Gelesen 41012 mal)

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Winsock und LotusScript
« am: 12.06.03 - 11:00:34 »
Hallo Leute,

hat von Euch schon jemand eine Socket Verbindung
mit LotusScript aufgebaut ?


bytheway :Hat da jemand eine funktionsfähige Library ?

Gruß

Don Pasquale

« Letzte Änderung: 12.06.03 - 12:14:41 von Don Pasquale »

Offline Till_21

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • I love Germany
Re:Winsock und LotusScript
« Antwort #1 am: 12.06.03 - 11:49:17 »
habe das hier mal ausgegraben ->
hier wird ein 'ping' ueber eine socketverb gemacht :

viel spass mit dem code...
(ohne gewaehr - ist nicht auf meinen mist gewachsen)

gruss
------------------------------------------------------------------------

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Winsock und LotusScript
« Antwort #2 am: 12.06.03 - 12:19:19 »
Vielen Dank,
aber ein Ping hilft mir nicht. :-)
Ciao
Don Pasquale

Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re:Winsock und LotusScript
« Antwort #3 am: 12.06.03 - 12:59:50 »
Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Wie erstellt man ein Library für ein Control
« Antwort #4 am: 12.06.03 - 13:48:35 »
@Hoshee:
Danke, aber das ist es leider auch nicht.

Anderer Weg :

Wie komme ich an die nötigen Declare Zeilen die in Lotus einfügen muß, um das Control korrekt anzusprechen ?

Declare Function accept Lib "wsock32.dll" (Byval s As Long, addr As sockaddr, addrlen As Long) As Long

Ciao

Don Pasquale

Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re:Winsock und LotusScript
« Antwort #5 am: 12.06.03 - 14:24:28 »
Yoo,

die Function accept kenne ich nicht / hab' ich nicht gefunden.
Erzähl doch mal, was Du überhaupt vor hat!?!?!?

Gruss ...

Hoshee
Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Winsock und LotusScript
« Antwort #6 am: 12.06.03 - 15:55:36 »
@Hoshee :

Ich möchte zwischen 2 Rechnern eine
SocketVerbindung aufbauen und eine
bestimmte Nachricht senden um dann
eine Antwort zu erhalten.

Das Senden klappt bereits und ein Antwort
wird auch gesendet, aber der Empfang
mittels getData klappt nicht.


Ciao

Don Pasquale

Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re:Winsock und LotusScript
« Antwort #7 am: 13.06.03 - 07:54:36 »
Yoo,

ist getData eine eigene Function von Dir?
Normalerweise prüft man Periodisch mit der Function recv ob Daten angekommen sind um dann die Daten mit eben dieser Function auszulesen.

Declare Function recv Lib "wsock32.dll" (ByVal s As Long, buf As Any, ByVal buflen As Long, ByVal flags As Long) As Long

Gruss ...

Hoshee
Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Winsock und LotusScript
« Antwort #8 am: 13.06.03 - 08:00:36 »
@Hoshee

danke für den DECLARE String, kannst Du mir sagen wie Du den
erstellt hast ?

Hier meinen bisherigen Code :
   Dim hSock As Long
   Dim rCoda As Long
   Dim strAntwort As String
   
   StartWinsock("TEST")
   hsock = ConnectSock("localhost",4444,"",0,0)   
   rCode = SendData(hSock, "1|153|0000000002" & Chr$(10)  )
   
   
   If DataComeIn(hSock) >= 1 Then 'Sind daten gekommen ?
      strAntwort = GetData(hSock)
      DataArraived = True
      Print "GetDate Ergebnis:" & strAntwort
   End If


Hier die Funktionen :

Public Function GetData(Byval Sock As Long) As String
   Dim Tmpstr As String * 1048, Retval As Long
   Retval = recv(Sock, Byval Tmpstr, Len(Tmpstr), 0&)
   GetData = Left$(Tmpstr, Retval)
End Function

Public Function DataComeIn(Byval Sock As Long) As Long
   Dim Tmpstr As String * 1
   DataComeIn = recv(Sock, Byval Tmpstr, Len(Tmpstr), MSG_PEEK)
   If DataComeIn = -1 Then
      DataComeIn = WSAGetLastError()
   End If
End Function

Public Function SendData(Byval Sock As Long, Byval Data As String) As Long
   SendData = send(Sock, Byval Data, Len(Data), 0&)
End Function
« Letzte Änderung: 13.06.03 - 08:19:17 von Don Pasquale »

Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re:Winsock und LotusScript
« Antwort #9 am: 13.06.03 - 08:20:47 »
Yoo,

bzgl. der Functions benutze ich einen API-Viewer. Schau Dir mal den hier an: http://www.mentalis.org/agnet/appdown.shtml
Sind auch immer Beispiele dabei.

Was mir in Deinem Script fehlt ist ein Timer-Ereignis, welches regelmäßig nach eingehenden Daten ausschau hält. Nach Deinem Script (wenn es Sequentell abläuft!) schickst Du Daten raus und prüft dann gleich ab ob welche da sind. Selbst bei einer GigaBit-Anbindung ist das unwahrscheinlich. Also musst Du warten  ;D

z.B.:

Private Sub Timer1_Timer()
   If DataComeIn(hSock) >= 1 Then 'Sind daten gekommen ?
      strAntwort = GetData(hSock)
      DataArraived = True
      Print "GetDate Ergebnis:" & strAntwort
   End If
End Sub
Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re:Winsock und LotusScript
« Antwort #10 am: 13.06.03 - 08:25:28 »
Yoo nochmal,

unter VB gibt es noch das Ereignis DataArrival.
Keine Ahnung ob mal das auch in LS ansprechen kann ???

Gruss ...

Hoshee
Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Winsock und LotusScript
« Antwort #11 am: 13.06.03 - 09:26:17 »
@Hoshee
Der API Viewer ist cool, vielen Dank

Die meisten Socket Funktionen die dort dokumentiert werden, greifen aber auf die WS2_32.DLL zu, während ich noch die wsock32.dll nutze.

Mein aktueller Code, der auch nicht funktioniert :

Ich habe nun eine DO LOOP WHILE Schleife
eingebaut, sollte das nicht auch funktionieren ?

   Dim hSock As Long
   Dim rCode As Long
   Dim strAntwort As String
   Dim i As Integer
   StartWinsock("TEST")
   hsock = ConnectSock("localhost",4444,"TEST",0,1)   
   rCode = SendData(hSock, "1|153|0000000002" & Chr$(10)  )
   
   Dim DataArrived As Integer
   DataArrived = 0
   
   Do
      If DataComeIn(hSock) >= 1 Then 'Sind daten gekommen ?
         
         strAntwort = GetData(hSock)
         If strAntwort <> "" Then
            ergebnis$ = strAntwort
            DataArrived = 1
         End If
         
          ' Print "GetDate Ergebnis:" & strAntwort
      End If
      Print " DataArrived : " & DataArrived
   Loop   While DataArrived <> 1
   
   Print "Ergebnis: " & ergebnis$

Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re:Winsock und LotusScript
« Antwort #12 am: 13.06.03 - 09:39:15 »
Yoo,

hast Du den API-Viewer oder den API-Guide?

Zum LOOP: Das Ding frisst natürlich Resourcen. Mit einem Timer bist Du da besser dran.
Hast Du denn schon mal mit einem Sniffer geprüft, ob wirklich Daten ankommen?

Gruss ...

Hoshee


Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Winsock und LotusScript
« Antwort #13 am: 13.06.03 - 10:05:06 »
@Hoshee

Timer, wie funktioniert ein Timer ?

Aber mal davon abgesehen dass es Ressourcen frisst,
es empfängt nichts.

Sniffer ,
hab ich auch noch nie benutzt, aber ich mach mich kundig.

Gruß

Don Pasquale

Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re:Winsock und LotusScript
« Antwort #14 am: 13.06.03 - 10:41:07 »
Yoo,

zwei Sachen sind mir in Deinem Code noch aufgefallen:

Code
   
StartWinsock("TEST")
hsock = ConnectSock("localhost",4444,"TEST",0,1)

Die Functionen "StartWinsock" und "ConnectSock" hast Du? Und warum connectest Du auf localhost? Bist Du sicher, das Du eine Verbindung bekommst? Ein SendData geht auch locker ins leere, wenn keine Verbindung besteht! Und ich entdecke in Deinem Code keine Abfrage auf eine (nicht-)bestehende Verbindung.

Zum Timer (NotesTimer class): Represents a mechanism for triggering an event every fixed number of seconds.
Schau Dir mal die Hilfe im Designer an. Da ist die Klasse beschrieben.

Leider habe ich auf keinem meiner Rechner eine wsock32.dll nur die ws2_32.dll. Kann also leider nicht testen.

Gruss ...

Hoshee


Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Winsock und LotusScript
« Antwort #15 am: 13.06.03 - 11:19:04 »
@Hoshee

Auf meinem Rechner ist zu Testzwecken ein Dienst eingerichtet, der auf dem Port 4444 lauscht. Dort im Protokoll steht, dass er eine
Anfrage bekommen hat. Wenn das Prinzip funktioniert wird aus localhost natürlich ein anderer Rechner.


Die Funktionen habe ich ConnectSock ist ein wenig länger, ist im Prinzip die Funktion Connect.

Public Function StartWinsock(sDescription As String) As Integer
   Dim StartupData As WSADataType
   If Not WSAStartedUp Then
      If Not WSAStartup(&H101, StartupData) Then
         WSAStartedUp = True
         sDescription = StartupData.szDescription
      Else
         WSAStartedUp = False
      End If
   End If
   StartWinsock = WSAStartedUp
End Function


Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re:Winsock und LotusScript
« Antwort #16 am: 13.06.03 - 12:28:17 »
Yoo,

irgendwie komm ich nicht weiter  :P

Habe auf kein Tool mit dem ich das Testen kann.
Ich mach mir noch mal Gedanken. Vielleicht fällt in der Zwischenzeit jemandem was ein ...

Gruss ...

Hoshee
Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline notes_andy

  • Junior Mitglied
  • **
  • Beiträge: 59
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
    • solutionforyou
Re: Winsock und LotusScript
« Antwort #17 am: 21.02.13 - 15:26:08 »
Hallo

Ich habe auch das Problem beim lesen der Daten. Hat das schon jemand geschafft. Oder funktioniert das mit Lotus Script nicht.

DANKE FÜR DIE HILFE

glg. Andreas

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.884
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Winsock und LotusScript
« Antwort #18 am: 21.02.13 - 17:25:36 »
na ja... der thread war ja nur 10 Jahre alt...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz