AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Kommunikation zweier Instanzen im Lan (DB-Polling vs. TCP)!
Thema durchsuchen
Ansicht
Themen-Optionen

Kommunikation zweier Instanzen im Lan (DB-Polling vs. TCP)!

Ein Thema von TheMiller · begonnen am 16. Feb 2010 · letzter Beitrag vom 17. Feb 2010
 
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Kommunikation zweier Instanzen im Lan (DB-Polling vs. TCP)!

  Alt 16. Feb 2010, 19:21
Hallo,

ich stehe vor einem Problem

Ich habe ein Programm geschrieben, mit dem in einem Netzwerk ca. 10 Leute arbeiten. In diesem Programm ist eine Benutzerliste mit dem Online/Offline-Status und die Möglichkeit, den Usern Nachrichten zu schreiben.

Da einige Leute auch via VPN über einen SurfStick ins Lan kommen, würde ich gerne verhindern, ständig die MySQL-Datenbank nach Änderungen des BenutzerStati und neuen Nachrichten zu fragen.
Problem ist, dass das ganze Programm dann lahmt.

Deshalb wollte ich diese Sachen auf TCP (IdTCPServer/Client) umstellen. Doch hier ist das Problem, dass die User nicht immer die selbe IP haben (echte Lan-IP, VPN-IP mehrere Netzwerkkarten etc).

Ich brauche mal eure Entscheidungshilfe. Es geht also um TCP-Kommunikation vs MySQL-Polling.

Die SQL-Abfragen könnte ich in Threads packen. Damit würde das Programm nicht mehr lahmen. Nachteil wäre, dass nervige Fehlermeldungen kommen, wenn der Server nicht erreichbar ist/wird.

TCP ist direkt, geht schnell und nur dann, wenn man es braucht. Ich würde, wenn User C online kommt, allen anderen Usern eine TCP-Message wie "/updateOnlineUser" senden und die würden dann die Datenbank abfragen und sich die neuen Stati holen.
Nachteil hier ist die wechselnde IP-Adresse. Dagegen habe ich gearbeitet, indem ich zu jedem User bei Programmstart in der DB alle IP-Adressen speichere und dann, eine nach der anderen durchgehe und schaue, welche richtig ist. Diese speicher ich dann im User-Objekt (User.IP). Doch das hin-und-her von TCP-Messages, UpdateCommandos etc nimmt bei vielen Usern viel Zeit in Anspruch (gerade über VPN).

Ich bräuchte - wie gesagt - eure fachliche Meinung, Vor- und Nachteile oder ganz und gar andere Lösungen.

Vielen Vielen Dank im Voraus
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz