Kirjoittaja Aihe: TCP-paketteja kännykälle ?  (Luettu 121 kertaa)

Mistofelees

  • Käyttäjä
  • Viestejä: 689
    • Profiili
TCP-paketteja kännykälle ?
« : 17.08.25 - klo:13.28 »
Onko jotain tapaa, jolla Linux lähettäisi TCP-paketteja 4G mokkulaa käyttävälle clientille ?

Serveri on Linux-kone kotona. Serverillä ja reitittimellä on portti auki ja yhteys toimii serverille päin.
Serverillä pyörivä ohjelma pitää huolen liikenteen turvallisuudesta.
Client on ESP32-mikroprosessorikortti

Client lähettelee datapaketeita epäsäännöllisin välein huonon kuuluvuuden yli. Olisi hyvä saada serveriltä kuittaus onnistuneesta kopituksesta.
En haluaisi avata http-porttia.

kamara

  • Käyttäjä
  • Viestejä: 3091
    • Profiili

Mistofelees

  • Käyttäjä
  • Viestejä: 689
    • Profiili
Vs: TCP-paketteja kännykälle ?
« Vastaus #2 : 17.08.25 - klo:16.39 »
Käytän nc (netcat) serverillä pakettien vastaanottoon, mutta en ole keksinyt tapaa, jolla saisi palautettua clientille.
Pitäisi tietää osoite ja portti, jonne lähettää. GSM ja 4G osoite on dynaaminen.

kamara

  • Käyttäjä
  • Viestejä: 3091
    • Profiili
Vs: TCP-paketteja kännykälle ?
« Vastaus #3 : 17.08.25 - klo:16.46 »
Ehkä en ymmärrä oikein ongelmaasi, mutta eikö client voi lähettää muiden tietojen mukana omaa ip:tään, jolloin voit lähettää netcatillä ok-ilmoituksen ?

Vai haluatko vastauksen lähettää broadcastina kaikille clienteille ?
« Viimeksi muokattu: 17.08.25 - klo:16.47 kirjoittanut kamara »

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11548
    • Profiili
    • Tomin kotisivut
Vs: TCP-paketteja kännykälle ?
« Vastaus #4 : 17.08.25 - klo:18.43 »
Käytän nc (netcat) serverillä pakettien vastaanottoon, mutta en ole keksinyt tapaa, jolla saisi palautettua clientille.

Ei taida ihan pelkällä netcatillä onnistua mielekkäästi, mutta kaipa senkin saisi suorittamaan jonkin ohjelman, joka kirjoittaa vastauksen. Esimerkki löytyy ainakin shelliskriptin ajamisesta netcatillä. Vastaus lähetään samassa TCP-yhteydessä eli et tarvitse tietää asiakkaan IP:ä tai porttia.

Mielestäni parempi ratkaisu olisi kirjoittaa lyhyt ohjelma valitsemallasi kielellä, jolloin voit varsin helposti käsitellä datan ja sen jälkeen lähettää vastauspaketin samaa TCP-yhteyttä pitkin, ja tarvittaessa näitä edestakaisia viestejä voi olla useampikin. Tässä Python esimerkki. Toki vastaukseksi halunnet muuta kuin lähettää saman datan takaisin.

Pitäisi tietää osoite ja portti, jonne lähettää. GSM ja 4G osoite on dynaaminen.

Onko liittymässä kuitenkin julkinen IP? Yleensähän noissa ei ole. Toisaalta yllä olevissa esimerkeissä et tarvitse asiakkaalle julkista IP:ä tai avointa porttia, koska voit lähettää vastauksen samaa yhteyttä pitkin. Näin yleensä toimitaan.
« Viimeksi muokattu: 17.08.25 - klo:19.05 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.