PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VB: Komisches Problem mit Winsock


boehmi
2004-07-28, 15:19:57
Hallo,
ich habe vor eine Art Messenger zu coden.
Es soll eine Client-Server Anwendung werden.
Bisher ging alles relativ gut voran, aber jetzt hänge ich!

Und Zwar:
Wenn ein Client an einen Weiteren eine Nachricht schicken will
sendet er mit Winsock:
005~seinNick~seinPW~Adressant~Nachricht

Der Server erhält das und soll nun aus der DB die IP des Adressants auslesen, udn die Nachricht weiteleiten:
009~Absendernick~Adressant~Nachricht

Dazu gehört dieser Code:

If Left(data, 3) = "005" Then '========== NACHRICHTENVERMITTLUNG
daten = Split(data, "~")
SQL = "SELECT * From tblUser WHERE nick='" & daten(1) & "';"
Set RS = CN.Execute(SQL)
If RS.Fields("Password") = daten(2) Then


SQL = "SELECT * From tblUser WHERE nick='" & daten(3) & "';"
Set RS = CN.Execute(SQL)
UDPServer.RemoteHost = RS.Fields("IP")
MsgBox (UDPServer.RemoteHost)
UDPServer.SendData ("009~" & daten(1) & "~" & daten(3) & "~" & daten(4)) 'Nachricht ausliefern


Meine Frage ist nun:
Warum funktioniert UDPServer.SendData ("009~" & daten(1) & "~" & daten(3) & "~" & daten(4)) nicht?

Es kommt kein Fehler, er sendet einfach nicht an die zuvor angegebene IP!

Ich dachte erst, das man im Data Arrival den .RemoteHost net ändern kann,
aber durch MsgBox (UDPServer.RemoteHost) wird die Adressant-IP angezeigt!

Ich hoffe, ihr könnt mir helfen!

Danke im voraus

Gast
2004-07-28, 16:06:05
Kannst du in der Zeile

UDPServer.SendData ("009~" & daten(1) & "~" & daten(3) & "~" & daten(4))

mal etwas anderes senden? Z.B.

UDPServer.SendData ("Test")

Laut Hilfe sollten für binäre Daten Byte-Datenfelder verwendet werden. Vielleicht kommt der mit "~" nicht klar.

Stimmen denn LocalPort und RemotePort überein?

boehmi
2004-07-28, 17:19:42
also alle anderen Sachen gehen zu senden...
und da sind auch ~ drin, das Port stimmt demnach ja auch!


Ich muss noch dazu sagen:
Wenn ich jetz einfach nen anderen CLient simuliere
udn an den server ein Paket 005~.... sende gehts!

Nur wenn das ne andere IP macht, gehts net!