Inhaltsverzeichnis
Antwortinhalt:
Heim Backend-Entwicklung PHP-Tutorial Einige Probleme beim Empfang von Daten durch das öffentliche WeChat-Konto und deren Übermittlung an die LAN-Website

Einige Probleme beim Empfang von Daten durch das öffentliche WeChat-Konto und deren Übermittlung an die LAN-Website

Aug 18, 2016 am 09:16 AM
mysql php python 微信公众号

Ich möchte nur ein paar Ideen finden und mir die Meinungen von Experten anhören. Ich bitte andere nicht, mir bei der Erstellung detaillierter Pläne zu helfen, sondern möchte nur die Richtung der Forschung aufzeigen. Ich kenne PHP/Java und kann im Vergleich zu Baidu ein wenig Python schreiben.
Im lokalen LAN gibt es einen Server, auf dem eine PHP-Website ausgeführt wird (die dynamische öffentliche IP-Netzwerkverwaltung erlaubt keine Portweiterleitung); es gibt einen anderen Server im Computerraum von xx cloud. Es verfügt über eine unabhängige öffentliche IP und führt PHP aus, um eine Verbindung mit WeChat herzustellen. Jetzt möchte ich eine Funktion erstellen, die es ermöglicht, die von WeChat gesendeten Informationen über den xx Cloud-Host an den Server im LAN weiterzuleiten. Der xx-Cloud-Host ist ein Linux-Betriebssystem, auf dem PHP/Python/Java ausgeführt werden kann. Der LAN-Host ist ein gewöhnlicher PC mit einem Windows-Betriebssystem, auf dem PHP/Python/Java ausgeführt werden kann Datenbanken (auch diese Frage Die ausgewählte Datenbank). Ich frage mich, ob Sie weitere subtile Ideen haben. .
Jetzt habe ich ein paar vorläufige Ideen und würde mich über Ihre Kommentare freuen, vielen Dank!
1. WeChat->Cloud Host (PHP)->Datenbank
Das lokale Netzwerk verwendet Python oder Java, um neue Daten in der lokalen Datenbank abzurufen.
2. WeChat -> Cloud Host (PHP) -> Prozessübergreifende Übertragung an den in Python geschriebenen Socket-Server
Das lokale Netzwerk verwendet Python oder Java, um eine Socket-Verbindung mit dem Cloud-Host und dem echten herzustellen Die zeitliche Kommunikation wird in der Datenbank gespeichert.
3. WeChat-> Cloud Host (PHP)-> Datenbank.
Erstellen Sie eine Master-Slave-Datenbanksynchronisierung zwischen der lokalen Datenbank und der Remote-Datenbank (der Schlüssel ist, dass die Remote-Datenbank nur schreiben kann, ohne sie zu überprüfen)
4. WeChat-> ;Cloud Host (PHP)->Datenbank
Schreiben Sie lokal ein Programm, um die beiden Datenbanken direkt zu verbinden, um einige Vorgänge auszuführen. .
Dies sind einige der Ergebnisse meiner Überlegungen zu diesem Thema. Ich bin der Meinung, dass sich jede Methode auf die Geschwindigkeit und Effizienz des Gesamtsystems auswirkt.

Antwortinhalt:

Ich möchte nur ein paar Ideen finden und mir die Meinungen von Experten anhören. Ich bitte andere nicht, mir bei der Erstellung detaillierter Pläne zu helfen, sondern möchte nur die Richtung der Forschung aufzeigen. Ich kenne PHP/Java und kann im Vergleich zu Baidu ein wenig Python schreiben.
Im lokalen LAN gibt es einen Server, auf dem eine PHP-Website ausgeführt wird (die dynamische öffentliche IP-Netzwerkverwaltung erlaubt keine Portweiterleitung); es gibt einen anderen Server im Computerraum von xx cloud. Es verfügt über eine unabhängige öffentliche IP und führt PHP aus, um eine Verbindung mit WeChat herzustellen. Jetzt möchte ich eine Funktion erstellen, die es ermöglicht, die von WeChat gesendeten Informationen über den xx Cloud-Host an den Server im LAN weiterzuleiten. Der xx-Cloud-Host ist ein Linux-Betriebssystem, auf dem PHP/Python/Java ausgeführt werden kann. Der LAN-Host ist ein gewöhnlicher PC mit einem Windows-Betriebssystem, auf dem PHP/Python/Java ausgeführt werden kann Datenbanken (auch diese Frage Die ausgewählte Datenbank). Ich frage mich, ob Sie weitere subtile Ideen haben. .
Jetzt habe ich ein paar vorläufige Ideen und würde mich über Ihre Kommentare freuen, vielen Dank!
1. WeChat->Cloud Host (PHP)->Datenbank
Das lokale Netzwerk verwendet Python oder Java, um neue Daten in der lokalen Datenbank abzurufen.
2. WeChat -> Cloud Host (PHP) -> Prozessübergreifende Übertragung an den in Python geschriebenen Socket-Server
Das lokale Netzwerk verwendet Python oder Java, um eine Socket-Verbindung mit dem Cloud-Host und dem echten herzustellen Die zeitliche Kommunikation wird in der Datenbank gespeichert.
3. WeChat-> Cloud Host (PHP)-> Die lokale Datenbank und die Remote-Datenbank werden erstellt, um die Master-Slave-Datenbank zu synchronisieren (der Schlüssel ist, dass die Remote-Datenbank nur schreiben kann, ohne sie zu überprüfen). )
4. WeChat-> ;Cloud Host (PHP)->Datenbank
Schreiben Sie lokal ein Programm, um die beiden Datenbanken direkt zu verbinden, um einige Vorgänge auszuführen. .
Dies sind einige der Ergebnisse meiner Überlegungen zu diesem Thema. Ich bin der Meinung, dass sich jede Methode auf die Geschwindigkeit und Effizienz des Gesamtsystems auswirkt.

Sie können die Abonnement-/Veröffentlichungsfunktion von Redis nutzen und Nachrichten können sofort zugestellt werden

Lassen Sie mich Ihrer zweiten Idee mehr Tiefe verleihen

WeChat-> Cloud Host (PHP)-> Starten Sie einen RabbitMQ-Nachrichtenwarteschlangenserver, werfen Sie die WeChat-Nachricht in die Warteschlange-> es in der Datenbank

Der gesamte Nachrichtenübertragungsprozess wird asynchron durchgeführt und es kommt zu keiner Blockierung in irgendeiner Verbindung. Es wird ordnungsgemäß durchgeführt und es besteht keine Notwendigkeit, das Rad neu zu erfinden

Es gibt viele Optionen, genau wie die 1, 2, 3 und 4, die Sie sich selbst gegeben haben. Zu diesem Zeitpunkt hängt es vom Geschäftsszenario ab:

  1. Stehen Sie unter Zeitdruck?

  2. Ist das Datenvolumen groß?

  3. Sind die Latenzanforderungen hoch?

  4. Wie ist die Parallelität?

  5. Gibt es Einschränkungen bei Hardware- und Softwareinvestitionen?

Kann man keine Erdnussschalen verwenden

Diese 4 Lösungen sind alle theoretisch machbar. Denken Sie jedoch daran, in tatsächlichen Szenarien auf diese Punkte zu achten: 1. Alle Ihre Lösungen sind Schreibvorgänge. Wenn Sie sich auf asynchrone Abfragen verlassen, sind einige Lösungen schwierig Inkonsistenz
2. Wenn Sie eine lange Kommunikationsverbindung aufrechterhalten und in kurzer Zeit keine Daten vorhanden sind, klickt die Firewall dann auf Ihren Link? Dies ist ein
sehr schwieriges und sehr häufiges großes Problem, insbesondere unter der schrecklichen Voraussetzung, dass der Netzwerkadministrator keine Portweiterleitung durchführt. 3. Bezüglich Option 4: Wird Ihre Netzwerkverzögerung zu Zombies oder schmutzigen Daten für Benutzervorgänge führen?

Wenn die Netzwerkqualität in China sehr schlecht ist, versuchen Sie zu vermeiden, dass mehrere Remote-Server einen linearen Vorgang verarbeiten, und versuchen Sie, lange Remote-Verbindungen zu vermeiden.

Im Allgemeinen wird beim Einrichten eines WeChat-Servers in einem lokalen Netzwerk die Portweiterleitung verwendet (wenn es sich um eine dynamische IP handelt, muss ein dynamischer Domänenname konfiguriert werden). Jetzt kümmert sich Ihr PHP-Server im Wesentlichen nicht um das Geschäft, sondern fungiert nur als Proxy. Dann habe ich zwei Möglichkeiten: 1. Erstellen Sie Nginx auf dem öffentlichen Server und verwenden Sie die dynamische Domänennamentechnologie, um den Proxy auf Ihren LAN-Server umzuleiten Mittlerer Preis, wie Javas Dubbo, kann Dienste im lokalen Netzwerk vom externen Netzwerkserver aus remote aufrufen

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP vs. Python: Anwendungsfälle und Anwendungen PHP vs. Python: Anwendungsfälle und Anwendungen Apr 17, 2025 am 12:23 AM

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

MySQLs Rolle: Datenbanken in Webanwendungen MySQLs Rolle: Datenbanken in Webanwendungen Apr 17, 2025 am 12:23 AM

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

Beispiel für Laravel -Einführung Beispiel für Laravel -Einführung Apr 18, 2025 pm 12:45 PM

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

PHP und Python: Ein tiefes Eintauchen in ihre Geschichte PHP und Python: Ein tiefes Eintauchen in ihre Geschichte Apr 18, 2025 am 12:25 AM

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

Auswirkungen von PHP: Webentwicklung und darüber hinaus Auswirkungen von PHP: Webentwicklung und darüber hinaus Apr 18, 2025 am 12:10 AM

PhPhas significantantyPactedWebDevelopmentAndendendsbeyondit.1) iTpowersMAjorPlatforms-LikewordpressandExcelsInDatabaseInteractions.2) php'SadaptabilityAllowStoscaleForLargeApplicationsfraMe-Linien-Linien-Linien-Linienkripte

Lösen Sie das Datenbankverbindungsproblem: Ein praktischer Fall der Verwendung von Minii/DB -Bibliothek Lösen Sie das Datenbankverbindungsproblem: Ein praktischer Fall der Verwendung von Minii/DB -Bibliothek Apr 18, 2025 am 07:09 AM

Bei der Entwicklung einer kleinen Anwendung stieß ich auf ein kniffliges Problem: die Notwendigkeit, eine leichte Datenbankbetriebsbibliothek schnell zu integrieren. Nachdem ich mehrere Bibliotheken ausprobiert hatte, stellte ich fest, dass sie entweder zu viel Funktionalität haben oder nicht sehr kompatibel sind. Schließlich fand ich Minii/DB, eine vereinfachte Version basierend auf YII2, die mein Problem perfekt löste.

See all articles