Chatserver auf Mac und Client auf Android

Startseite Foren Deutsches LiveCode-Forum Chatserver auf Mac und Client auf Android

Schlagwörter: 

Ansicht von 7 Antwort-Themen
  • Autor
    Beiträge
    • #15738
      Torsten
      Teilnehmer

        Hi,

        ich versuche gerade folgendes: auf dem Mac läuft ein Chatserver und ich möchte auf einem Android-Gerät einen Client laufen lassen, der sich mit dem Server über einen Socket verbindet.

        Wenn beide auf dem Mac laufen ist alles ok, der Client verbindet sich über localhost:port

        Wenn aber der Android-Client sich verbinden soll, braucht er ja die IP vom Mac.

        1. Problem: es gibt zwei IPs, eine von innen und eine aussen:
        innen: put the hostNameToAddress of the hostName –> 172.16.48.48
        aussen: https://wtfismyip.com/text –> 141.76.179.3

        Welche soll ich nehmen? Ich habe beide ausprobiert, aber keine Verbindung klappt.

        2. Problem: Die Verbindung der beiden geht ja nicht innerhalb meine WLANs, sondern wahrscheinlich über das Internet. Kann es sein, dass der Mac oder die Firewall des Hosters von aussen kommende Verbindungen abblockt? Wie kann man die Ports dann öffnen, so dass der Server auf dem Desktop auch von aussen erreichbar ist?

        Bin sehr dankbar für die Antworten,
        Torsten

        Kann es sein

      • #15740
        Werner
        Teilnehmer

          Hallo Torsten,

          Die Verbindung kann über ide interne und die externe IP laufen. Bei der internen ist sie dann aber auf dein privates Netzwerk beschränkt. Die einzelnen Chatteilnehmer müssen aber immer die selbe IP bekommen. Das kann man im Router einstellen.
          deine IP-Adresse “von aussen” dürfte vermutlich schon nicht mehr stimmen. Üblicherweise bekommst du einmal am Tag eine neue IP. Die Lösung hat neben der Festlegung der internen IP zwei Punkte:

          • zunächst brauchst du eine feste IP-Adresse von aussen. Die bekommst du z. B. über DynDNS oder, wenn du eine Fritzbox hast, auch über MyFritz.
          • dann brauchst du noch eine Portweiterelitung innerhalb deines Routers.
        • #15746
          Werner
          Teilnehmer

            Kleine Ergänzung:

            Wenn alle Chatteilnehmer von aussen erreichbar sein sollen, wie z. B. bei WhatsApp, dann müssen auch alle eine eigene feste äussere IP haben. Da müsstest du also jedem per DynDNS eine eigene IP besorgen.
            Möglich wäre auch ein Server, der bei der Anmeldung der einzelnen Chatteilnehmer die IP des jeweiligen Teilnehmers entgegennimmt. Interessante Programmieraufgabe 😉

          • #15803
            Torsten
            Teilnehmer

              Ich hab’s hinbekommen.

              In der Kürze: Es ist kein Problem, wenn man in einem gemeinsamen WLAN ist.
              Für meine jetzigen Zwecke reicht das erstmal aus.

              Ist aber ein spannendes Thema, in der Tat 🙂

            • #15805
              Klaus Major
              Administrator

                Björnkes Chatserver hast Du Dir schon mal angeschaut?
                https://bjoernke.com/?target=chatrev

              • #15822
                Torsten
                Teilnehmer

                  Hi Klaus,

                  stimmt, den hatte ich vor langer Zeit mal auf dem Schirm. Ich guck mir jetzt mal an, wie er das mit externen IPs genau gemacht hat.

                  Merci vielmals!

                  PS: kennst Du noch andere Ansätze, die einen Server aufgesetzt haben?

                • #28659
                  Torsten
                  Teilnehmer

                    Ha, meine Ermittlung der internen IP über hostname hat gar nicht funktioniert (keine Ahnung, warum ich das geschieben habe). Hier also nun der funktionierende Weg (beim Mac), wie man an die lokale IP (unter der der Rechner z.B. als Server für andere Geräte im eigenen WLAN erreichbar ist) bekommt:

                    put "ifconfig -a | grep" && quote & "inet " & quote into tCommand
                    put shell(tCommand) into tIP
                    put word 2 of line 2 of tIP into tInternal_IP

                    Happy Coding
                    Torsten

                  • #28661
                    Torsten
                    Teilnehmer

                      Jou, und hier ist das Script für Windows:

                      set the hideconsolewindows to true
                      put shell("ipconfig") into tData
                      put line lineoffset("IPv4",tData) of tData into tData
                      put the last word of tData into tInternal_IP

                      Happy Coding
                      Torsten

                  Ansicht von 7 Antwort-Themen
                  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.