Python TCP client + trådar (2 / 3 steg)

Steg 2: om programmet

Jag tror att koden it self innehåller tillräckligt kommentar så att de med viss programmering skicklighet kan åtminstone förstå hela programmet flödet, om inte hela kod, men bara för att lägga till mer insikt

Det första jag startade en ny tråd som ska köra funktionen tcpConnect(), denna funktion kommer att försöka ansluta till port 5445 (jag älskar denna port) på samma maskin, IP och port kan ändras av användare, som socket.connect funktion kommer att generera ett undantag om ansluter misslyckas, jag använde en försök utom för att bilda ett nytt försök metod för anslutning , så tråden kommer loop tills anslutningen är etablerad, då det kommer att sätta ordentlig flaggor och startar en ny tråd som är ansvarig för behandlingen från uttaget, tråden kommer att kalla en användardefinierad call back funktion när den upptäcker ett komplett sortiment av data slutar med \r\n,

för nu och i detta projekt vi bara skriva ut mottagna data,

Jag också genomfört en timer-klass som var ansvarig för att anropa en användardefinierad timeout callback funktion på en vanlig användare angivet intervall, i denna timeout motringning vi öka två flaggor HBCounter och HBSent, dessa flaggor används för att identifiera hur länge nätet har varit inaktiv i båda directions,i.e. servern till klienten och klienten till servern, kan du fråga varför vi behöver dessa två? eftersom vi vill se till att anslutningen är upp och frisk, och TCP kommer att kontrollera detta som standard efter säga två timmars inaktivitet, som är ganska lång tid, så vi använder denna mekanism för att minska denna tid till ett acceptabelt värde,

Du kan ta bort timern på försök, men för att få en högre grad av tillförlitlighet bör du använda timern, om så den server du använder måste kunna skicka heartbeat paket till klienten eller klientens kommer att avbryta anslutningen och upprättar en ny ett efter några timern på grundval av villkoret i koden är uppfyllt ,

Se Steg
Relaterade Ämnen

Bygga din Internet kontrollerad Video-Streaming Robot med Arduino och Raspberry Pi

< the Instructable och koden är redo. Njut! Lämna en kommentar med du feedback! >Jag är (aka LiquidCrystalDisplay / Itay), en 14 år gammal student från Israel lärande i Max Shein Junior High School för avancerad vetenskap och matematik. Jag gör dett...

Networked LCD ryggsäck med LCD Smartie

tecken LCD skärmar bläddra information är en populär fall mod. De är oftast kontrolleras via en parallellport, serieport ryggsäckeller USB ryggsäck (mer). Detta Instructable visar våra öppen källkod ethernet nätverk LCD ryggsäck.LCD kontrollprogram s...

Telemedicin med hjälp av WIZwiki-W7500 och BLE

Nyligen meddelade WIZwiki-W7500 plattform WIZnet. Så genomfört jag en firmware för WIZwiki-W7500 genom att ändra UART definition eftersom jag kan hantera en ursprungskod enkelt.Du kan veta värdet av BLE sensor även om det är så långt. Se följande ste...

Din egen väderprognos med WIZwiki-W7500

I detta Instructable, kommer jag presentera min egen väderprognos. Innan du går ut, jag undra är det ren? moln? Vad gäller temperaturer? Även vi kan få information om vädret på så många sätt, upptagen, vi missade paraply, solskydd eller keps igen. Av...

LED blinkar av fjärr-PC med WIZwiki-W7500 mbed plattform

Jag presentera en LED blinkar kontrollerande från fjärranslutna dator via nätverk (TCP protocol).Ett TCP client program körs i datorn och en TCP-server körs i en WIZwiki-W7500 mbed plattformen styrelse. W7500 överför data till PC och tar emot data fr...

Hur att övervaka en avlägsen utrustning av WIZwiki plattform

Jag vet WIZ550S2E lösning för övervakning. Nyligen meddelade WIZwiki-W7500 plattform WIZnet. Så genomfört jag en firmware för WIZwiki-W7500 av WIZ550S2E SW ändring eftersom jag kan hantera en ursprungskod enkelt.Du kan veta status för utrustning även...

Twitter Watcher, the #twatch

#twatch rullar den senaste trender ämnen från Twitter på en LCD-skärm. Det är en fristående network appliance som håller sig uppdaterade utan en dator. Det var häftigt att titta på #iranelection, Michael Jacksonoch andra historiska händelser rulla av...

WiFly RN-XV modul - Wireless Arduino styrelsen Tutorial - Intro

har du någonsin velat göra din arduino har trådlös förmåga? Ville ansluta din robot till din trådlösa router för åtkomst via det lokala nätverket? Följ denna lilla tutorial jag har satt ihop och du kommer vara på väg på nolltid!Vad du behöver:-Arduin...

Du kan slå på TV: N när som helst.

IoT era.Många saker kan fjärrstyras. Bluetooth eller WiFi används till dessa. Men jag gör är för svårt och dyrt. Jag kan lättare komma åt IR remote modulen i omgivningen.Så, jag bestämde mig att använda infraröda fjärrkontrollen.IR-Gateway!Steg 1: De...

Hur man använder en seriell WiFi sköld - Arduino handledning

I denna tutorial får du lära dig att använda WizFi210 - följetong WiFi sköld med Arduino uno ombord. Denna låg kostnad wifi sköld enkelt kan anslutas till ditt WiFi-nätverk och kommunicera med Arduino uno styrelsen via seriell kommunikation-protokoll...

Hur du använder WiFi modul i Arduino IDE på pcDuino

pcDuino v2 har en inbyggd WiFi-modul som ger Internet-anslutning. Användare vill veta hur du använder WiFi modul i formatmallen Arduino IDE på pcDuino? Är det samma som WiFi sköld för Arduino?pcDuino v2 är en enkel bräde linux dator själv. Nätverksfu...

Urklipp kommunikation PC ↔ Pi med Python

Jag använda brukar min hallon-Pi på en delad windows-skrivbordet. Jag delar också en nätverksenhet med Pi. Detta är bra, men jag har fortfarande irritationen i Urklipp på datorn inte kommer till uttryck på Pi. Det kan vara plattformsoberoende apps ut...

BAYMAX: Min första Python projekt

Jag har haft detta på / av-förhållande med lärande att koden i flera år (ok kanske tio år). Jag har dabbled i detta och att plocka upp några Java script här, HTML, klipper av VBA och praktiska kunskaper om alla manor industriell logik kontroller. Det...

Boxhead återskapas med Python med Tkinter

Boxhead återskapas i Python från BenR på Vimeo.Det är en fantastiskt underhållande datorspel kallas Boxhead, där i huvudsak du och/eller en andra person slåss mot horder av attackerande Zombies och djävlar med olika vapen. För en dator science klass...

Lätt ESP8266 WiFi felsökning med Python

Den nya sub $5 dollar ESP8266 WiFi modulen gör billigt IoT sätt mer möjligt och lätt för vanliga dödliga som mig. I själva verket jag gjorde en sökning på AliExpress.com och jag hittade samma modul för $3,25 (gratis frakt, men naturligtvis) i mängder...

Plotly med Python

Jag snubblade nyligen, på Plotly, en vacker online datavisualisering system enligt en göra artikel. Det är överflödigt att säga att det finns olika artiklar som visar användningen av Plotly för Arduino, Raspberry Pi, etcetera.Tyvärr finns det ingen e...

Arduino NodeMCU ESP8266 baserade WIFI Smart Strip 4 Relay Switch Board med Raw TCP/IP, Mqtt & Android App

Nod MCU är en öppen källkod ESP8266 baserade Wifi aktiverat IoT plattform för alla. Vad vi har gjort skapas en fyra relay board för det och det coolaste är att styrelsen också har en 100-240V-AC till 5V DC strömförsörjning ombord så du kommer att kun...

Python Terminal för billigt Pi Arduino anslutning

Raspberry Pi är en Linux-maskin så finns det förmodligen massor av terminal program för den. Men jag har skrivit en ny i Python, varför jag bry sig? Läste på. Om du gör ett projekt som använder både Pi och Arduino måste du förmodligen ett sätt för tv...

Python Web Server för din Raspberry Pi

Obs: Vill du bara en webbserver som inte kräver Python, kolla in denna tutorial jag gjorde för en super lätt webbserver för Pi-hallon.Du vet några grundläggande Python eller du vill lära dig några och du vill göra en hemsida, en webbserver, en sökrob...