Reno Reckling
Grünschnabel
Hi
Ich habe ein kleines Winsock Problem, das einige Programme von mir recht kompliziert macht und ich wollte mal fragen ob man das auch anders lösen kann.
Kleine Erklärung vorweg:
servernum = Anzahl der Server
sendstring ist ein String in dem alle zu versendenden Operationen mittels Seperator hintereinander gehängt wurden. Zuerst die Zahl der Server, danach ihr Adressen.
Der Seperator ist „*_*“
Diese sieht in etwa so aus:
2*_*192.168.115.112*_*192.168.115.1*_*
das ist soweit ja kein Problem, wenn ich das ganze an einen Timer kopple und immer bei jedem Durchlauf ein Häppchen sende.
Sobald ich die Do While unten stehende Schleife verwende, bekomme ich den Fehler 40006
„Falsches Protokoll oder Verbindungszustand für die angeforderte Transaktion oder Anforderung“
Kann mir jemand sagen woran das liegt?
Entsprechendes Empfangsprogramm ist natürlich vorhanden.
Mit freundlichen Grüßen
Reno Reckling
Ich habe ein kleines Winsock Problem, das einige Programme von mir recht kompliziert macht und ich wollte mal fragen ob man das auch anders lösen kann.
Kleine Erklärung vorweg:
servernum = Anzahl der Server
sendstring ist ein String in dem alle zu versendenden Operationen mittels Seperator hintereinander gehängt wurden. Zuerst die Zahl der Server, danach ihr Adressen.
Der Seperator ist „*_*“
Diese sieht in etwa so aus:
2*_*192.168.115.112*_*192.168.115.1*_*
das ist soweit ja kein Problem, wenn ich das ganze an einen Timer kopple und immer bei jedem Durchlauf ein Häppchen sende.
Sobald ich die Do While unten stehende Schleife verwende, bekomme ich den Fehler 40006
„Falsches Protokoll oder Verbindungszustand für die angeforderte Transaktion oder Anforderung“
Kann mir jemand sagen woran das liegt?
Entsprechendes Empfangsprogramm ist natürlich vorhanden.
Mit freundlichen Grüßen
Reno Reckling
Code:
servernum = List1.ListCount
sendstring = Str(servernum) + "*_*"
For e = 0 To List1.ListCount - 1
List1.ListIndex = e
sendstring = sendstring + List1.Text + "*_*"
Next e
For a = 0 To List1.ListCount - 1
List1.ListIndex = a
deliverstring = deliverstring + List1.Text + "*_*"
Next a
dtempstring = deliverstring
Do Until InStr(dtempstring, "*_*") = 0
If Main.Winsock1.State = sckClosed Then
tempstring = sendstring
Winsock1.RemoteHost = Mid(dtempstring, 1, InStr(dtempstring, "*_*") - 1)
Winsock1.RemotePort = 50
Winsock1.Connect
Else
If InStr(tempstring, "*_*") = 0 Then
dtempstring = Mid(dtempstring, InStr(dtempstring, "*_*") + 3)
Winsock1.Close
Else
zu_senden = Mid(tempstring, 1, InStr(tempstring, "*_*") - 1)
Winsock1.SendData zu_senden
tempstring = Mid(tempstring, InStr(tempstring, "*_*") + 3)
End If
End If
DoEvents
Loop