Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung PHP

Mitglied: Martinkoell

Martinkoell (Level 1) - Jetzt verbinden

30.01.2013, aktualisiert 22:06 Uhr, 2347 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
LAN, WAN, Wireless
Kommunikation zwischen Fritz-Lan und TP-link Lan (2)

Frage von TheITGuy zum Thema LAN, WAN, Wireless ...

CMS
PHP - WordPress auf Apache schneller als auf IIS? (13)

Frage von Rene1976 zum Thema CMS ...

Windows Server
SQL Server 2008 R2 SP3 neue Instanz (10)

Frage von technikdealer zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...