Socket with if-loops does not give a consistent result
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- python
- Bereich
- desktop, networking
Rechercherichtung
Beginne beim Einstiegspunkt show_markers und verfolge die Schleife rund um den Checkbox-Zustand, die recv-Aufrufe und die socket shutdown/close-Pfade. Reproduziere die Sequenz mit drei Umschaltungen und überprüfe anschließend, dass das Zurückkehren in den aktivierten Zustand Daten empfängt, ohne sich aufzuhängen, und dass der socket-Lebenszyklus gültig bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The program is continuously receiving data from the sender side. And I have a checked/unchecked button when I make it checked it runs the if part...that's good. Now I make it unchecked then else part runs and prints Unchecked going to close socket, so that's also good.
The problem is when I am going to make it again checked (2nd time) to run if part again it just print Checked and my program hangs. Why is this happening? It should receive the data but it hangs. Please tell me the solution.
def show_markers(self):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostbyname('192.168.225.12')
s.connect((host, port))
scale=0
while True:
if self.iconAction.isChecked():
print ('Checked')
m = QgsVertexMarker(self.iface.mapCanvas())
data = s.recv(SIZE)
data1 = s.recv(SIZE)
c = data.decode()
d = data1.decode()
x = float(c)
y = float(d)
print("printing X :", x)
print("printing Y :", y)
rect = QgsRectangle(float(x)-scale, float(y)-scale, float(x)+scale, float(y)+scale)
me = self.iface.mapCanvas()
me.setExtent(rect)
me.refresh()
m.setCenter(QgsPointXY(x, y))
m.setColor(QColor(255, 0, 0))
m.setIconSize(7)
m.setIconType(QgsVertexMarker.ICON_X) # or ICON_CROSS, ICON_X
m.setPenWidth(3)
else:
print('Unchecked going to close socket')
s.shutdown(10)
s.close()
I am assuming it should work like:
- 1st time click on button ---> Checked & if part run [working]
- 2nd time click on button ---> Unchecked & else part run [working]
- 3rd time click on button ---> again it Checked [here it checked but my program hangs & not receiving the data from sender computer]
- Vorherrschende Sprache
- Jupyter Notebook
- Sterne
- 5.2k
- Forks
- 5.3k
- Ø Merge
- 4 T. 10 Std.
- Gemergte PRs (30 T.)
- 10
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus realpython/materials
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
realpython/materials#729 ·
-
п Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 1/100
realpython/materials#763 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 55/100
realpython/materials#738 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 45/100
realpython/materials#737 ·
-
проект2 Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
realpython/materials#725 ·
Alle Issues in realpython/materials
Ähnliche Issues
-
`--app` focus through the daemon can pick an off-screen window and refuse with `axElementNotFound` Offenclawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster no-stale P1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
CachyOS/cachyos-aur-derived#754 ·
-
bug draftomen size: S
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
andreagrandi/draftomen#681 ·
-
Startup alerts tell the user to click Save and Apply, but the settings button is labelled Save Offenbug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
alexgorbatchev/simple-ptt#11 ·