AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?
Thema durchsuchen
Ansicht
Themen-Optionen

Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?

Ein Thema von Piro · begonnen am 7. Mär 2016 · letzter Beitrag vom 12. Mär 2016
 
mjustin

Registriert seit: 14. Apr 2008
3.008 Beiträge
 
Delphi 2009 Professional
 
#13

AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?

  Alt 9. Mär 2016, 08:50
Deshalb die Idee, ob Delphi irgendwelche Techniken hat, w.z.B. SignalR, um mein Vorhaben mit Delphi Mitteln umzusetzen.
Eine kommerzielle WebSocket Client und Server Implementierung gibt es unter http://websockets.esegece.com/

Code:
    Fully functional multithreaded WebSocket server according to RFC 6455.
    Supports Firemonkey (Windows, MacOS, iOS and Android).
    Supports Lazarus / FreePascal.
    Supports CBuilder.
    Supports C# .NET through sgcWebSockets.dll
    Supports Chrome, Firefox, Safari, Opera and Internet Explorer (including iPhone, iPad and iPod)
    Binary and Full Unicode Messages Support
    Message compression using PerMessage_Deflate extension.
    Flash FallBack for Web Browsers without native WebSockets (like Internet Explorer 6-9).
    Multiple Threads Support
    Server component providing WebSocket and HTTP connections through the same port.
    Client WebSocket supports connections through Socket.IO Servers.
    Client WebSocket supports connections through HTTP Proxy Servers.
    WatchDog and HeartBeat built-in support.
    Events Available: OnConnect, OnDisconnect, OnMessage, OnError
    Built-in sub-protocols: JSON-RPC 2.0(Transactional Messages, PubSub, RPC, Queues, QoS and more), Datasets, Binary Files, WebRTC and WAMP.
    Built-in Javascript libraries to support browser clients.
    Easy to setup
    Javascript Events for a full control
    Async Events using Ajax
    SSL/TLS support on Server and Client components
Ob das über 10000 Connections schafft sollte der Author sicher beantworten können. Ich würde aber zur Sicherheit immer auch eigene Lastsimulationen durchführen.

Indy-basierte Lösungen sind allerdings nicht für so hohe Verbindungszahlen geeignet wenn die Connections alle gleichzeitig geöffnet sein müssen. (nachzulesen z.B. unter http://codeverge.com/embarcadero.del...read-c/1072348).

Wenn es 20000 Clients sein sollen und der Server in Delphi implementiert werden muss, könnte man

* mehrere Server laufen lassen (um die Last zu verteilen)
* die Verbindung nur kurz geöffnet lassen und serverseitig die wartenden Informationen in einem Cache halten, damit der Client sehr schnell wieder die Verbindung trennen kann *)
* UDP verwenden um Clients über neue Nachrichten zu informieren

*) aber das Betriebssystem wird dann den Socket immer noch für längere Zeit offen halten. Wenn sich viele Clients immer wieder verbinden und trennen, kann das Betriebssystem dann nach einiger Zeit keine neuen Sockets mehr öffnen (das ist einer der Gründe warum z.B. HTTP 1.1 die Verbindung geöffnet hält - 'HTTP/1.1 makes persistent connections the default.' - http://www8.org/w8-papers/5c-protocols/key/key.html )
Michael Justin
habarisoft.com

Geändert von mjustin ( 9. Mär 2016 um 09:19 Uhr)
  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 16:12 Uhr.
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 by Thomas Breitkreuz