Socket with if-loops does not give a consistent result
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- desktop, networking
Línea de trabajo
Comienza en el punto de entrada show_markers y sigue el bucle en torno al estado de la casilla de verificación, las llamadas a recv y las rutas de shutdown/close del socket. Reproduce la secuencia de tres cambios y, a continuación, verifica que al volver al estado marcado se reciben datos sin que se produzca un bloqueo y que el ciclo de vida del socket sigue siendo válido.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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]
- Lenguaje dominante
- Jupyter Notebook
- Estrellas
- 5.2k
- Forks
- 5.3k
- Merge medio
- 4 d 10 h
- PR fusionados (30 d)
- 10
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de realpython/materials
-
Ruff lints the whole repo Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
realpython/materials#729 ·
-
п Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 1/100
realpython/materials#763 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 55/100
realpython/materials#738 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 45/100
realpython/materials#737 ·
-
проект2 Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
realpython/materials#725 ·
Todos los issues de realpython/materials
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
app bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
spotlight search visual bug Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
AvengeMedia/DankMaterialShell#3537 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
CherryHQ/cherry-studio#20947 · 1 reacción ·