Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Kommunikation zwischen einer PHP Instanz (Apache) und einem PHP CLI Server auf einem Computer

Mitglied: Martinkoell

Martinkoell (Level 1) - Jetzt verbinden

30.01.2013, aktualisiert 22:06 Uhr, 2433 Aufrufe, 5 Kommentare

Ich habe einen Computer (Debian) mit zwei Diensten:
Dienst 1) Auf dem Computer läuft ein PHP CLI als Websocket-Chatserver.
Dienst 2) Auf dem Computer läuft ein Apache2+PHP5 der beim Seitenaufruf Daten generiert.

Problem:
Die generierten Daten von Dienst 2 sollen auf irgendeine Art zum Dienst 1 übertragen werden damit dieser sie an die Websocket Clients sendet. Mein erster Versuch, eine PHP-PHP Websocket-Verbindung aufzubauen ist gescheitert.

Gibt es sonstige Möglichkeiten?

Grüße,
Martin
Mitglied: Hitman4021
31.01.2013 um 05:37 Uhr
Hallo,

PHP als Socket-Chatserver? Ohne Threading?

Nagut wenn du noch sagst um was für Daten es geht und ob das ganze in Echteit erfolgen muss kann man dir bestimmt helfen.

Gruß
Bitte warten ..
Mitglied: SlainteMhath
31.01.2013 um 09:42 Uhr
Moin,

als erstes würde mir einfallen:

Austausch per (MY-)SQL DB
oder
Austausch per Filesystem

Apache/PHP5 schreibt, PHP-CLI liest und löscht.

lg,
Slainte
Bitte warten ..
Mitglied: Martinkoell
07.02.2013, aktualisiert um 20:55 Uhr
hi ihr beiden danke für die posts.

Austausch per SQL:
Der Websocket-Server in der CLI arbeitet bereits mit einer (MY)SQL-Tabelle, damit ich als Admin während des Betriebes von Ausserhalb die Clients auslesen kann ohne auf $'s zugreifen zu müssen.
Problem: Die SQL-Verbindung hat keinen Trigger, also "Event bei SQL Change" oder so.

Austausch per FS:
Derzeit habe ich es genau so gelöst. Eine Datei wird vom Apache2/PHP5 beschrieben und setzt gleichzeitig einen Eintrag in die DB.
Ist dann die Dateigröße > 1 checkt das der CLI-Server bei der Endless-While durch ein Fileopen und liest die "übergebenen" Werte aus der DB.
Der DB-Trigger ist somit eine Datei.

Ich hätt gern multidimensionale Arrays hin und hergeschoben

Die Funktionen getvar und putvar gehen bei mir auch nicht, obwohl php.ini variables_order ein "E" enthält..

Habt ihr ne bessere Idee als Trigger?
Doch eine Websocket-Verbindung zwischen den beiden PHP-Servern?

Das ganze läuft in Echtzeit, in der Minute werden etwa 500 Trigger ausgelöst

lg
Bitte warten ..
Mitglied: Martinkoell
08.02.2013, aktualisiert um 00:46 Uhr
okay. hab jetzt folgenden lösungsansatz:

zu beginn wird per globaler variable ein neue Socket-ressource erstelle:

$backendSocket = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($backendSocket,'192.168.0.52',9000);
socket_listen($backendSocket,0);
socket_set_nonblock($backendSocket);


danach versuche ich in der mainloop (auf der auch auf websocket-verbindungen gewartet wird) dauernd auf verbindungsanfragen zu hören:

$bsbytes = @socket_recv($backendSocket, $buffer, 4096, 0);
echo $bsbytes;

dann kommt beim Server immer $bsbytes gleich "" und beim client kommt der Fehler: Connection refused (111)

Was mache ich falsch?
ich möchte eine if schreiben,
die eine mögliche verbindungsanfrage annimmt und den stream liest.

lg
Bitte warten ..
Mitglied: Martinkoell
08.02.2013 um 00:49 Uhr
okay mit

$backendSocket = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($backendSocket,'192.168.0.52',9000);
// socket_set_blocking($backendSocket,0);
socket_set_nonblock($backendSocket);


loop:

$bsbytes = socket_listen($backendSocket,0);

if ($bsbytes)
{
socket_accept($backendSocket);
}


gings.
danke
Bitte warten ..
Ähnliche Inhalte
Hosting & Housing
Php auf apache http server installieren
gelöst Frage von deinernstjetztHosting & Housing4 Kommentare

Hallo, ich habe mir Apache http Server auf meinen PC installiert. Ich möchte aber auch noch php auf diesen ...

Apache Server

PHP 5.6 compile klappt doch Apache reagiert auf kein PHP

Frage von spcvltApache Server6 Kommentare

Hallo, ich wollte unter CentOS 6 ein PHP compilen. Ich habe mir dazu von php.net die source Datei heruntergeladen ...

Apache Server

Upload Problematik Mediawiki+Apache+PHP

Frage von m3n7orApache Server4 Kommentare

Hallo zusammen, ich beobachte aktuell auf unserem Webserver folgendes Problem. Wenn jemand in einem unserer Wikis eine bestimmte Bild-Datei ...

CMS

PHP - WordPress auf Apache schneller als auf IIS?

Frage von Rene1976CMS13 Kommentare

Hallo Gemeinde, wir haben einen Win 2008 R2 RootServer mit Plesk 12.5. Dort laufen auch ASPX Websites drauf. Jetzt ...

Neue Wissensbeiträge
Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 6 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 18 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 20 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 21 StundenMicrosoft12 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server34 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...