Wpis z mikrobloga

#programowanie #cpp trochę #webdev i może trochę #php

Mircy mam problem pic related.

Dane mamy jakieś fizyczne obiekty i informacje o nich (np. poziom przepływu wody czy jasność, never mind).

Klient i serwer. Klient przez zwykłe HTTP request wysyła pytanie o stan obiektów do serwera. Serwer, a konkretnie jakiś skrypt PHP dostaje request, otrzymuje dane z programu (pisanego w C++) pobierającego i przetwarzającego dane z czujników, tworzy z nich dokument JSON i zwraca klientowi. Wszystko wydaje się proste ładne i przyjemne, tylko że jest jeden problem. Nie wiem jak wymieniać dane między skryptem PHP a samym programem głównym.

Najprostszym i najgorszym rozwiązaniem jest generowanie na bieżąco np. pliku tekstowego z aktualnymi danymi, z których skrypt PHP pobierze dane i zwróci klientowi. Niestety dane będą zmieniały się bardzo często i takie ciągłe pisanie do pliku to zły pomysł.

Pomyślałem jeszcze o wewnętrznej wymianie danych na jakimś porcie, niemniej nie jestem pewny jak PHP radzi sobie z obsługą socketów. Wiem tylko że taka możliwość istnieje. :)

A może Wy mircy macie jakieś pomysły jak to rozwiązać?
bartoneczek - #programowanie #cpp trochę #webdev i może trochę #php



Mircy mam prob...

źródło: comment_w4ch0ZOSyu3bDu8R59aANILDioWG4Far.jpg

Pobierz
  • 31
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bartoneczek: jak masz źródła tego programu, to API do niego możesz napisać w Go (programy w Go można łączyć z C++). Go jest wręcz stworzony do takich rzeczy. Po co męczyć serwer nudnym php :)
  • Odpowiedz
@bartoneczek: albo GO (polecam) albo poszukaj może da się to ogarnąć PIPAmi. Ostatnio miałem baaardzo podobny problem (python + cpp)... to po prostu postawiłem podstawowy serwer UDP na cpp, a klienta dałem na Pythonie i działa świetnie. Aczkolwiek "popen" winno być o wiele lepszym rozwiązaniem.
  • Odpowiedz
Najprostszym i najgorszym rozwiązaniem jest generowanie na bieżąco np. pliku tekstowego z aktualnymi danymi, z których skrypt PHP pobierze dane i zwróci klientowi. Niestety dane będą zmieniały się bardzo często i takie ciągłe pisanie do pliku to zły pomysł.


@bartoneczek: niech program zwraca dane do konsoli i odpalaj go przez

shell_exec()
, o ile nie potrzebujesz tego pod jakiś profesjonalny projekt i odizolujesz dane użytkownika tak, aby nie mógł przepchnąć
  • Odpowiedz