我正在尝试建立一个可以发送每个客户端 - 命令的服务器。
一个命令是“lock”,它锁定客户端的屏幕。
当客户端收到“锁定”一词时,它会在客户端上运行以下代码:
import ctypes
ctypes.windll.user32.LockWorkStation()
但是,此代码确实锁定了屏幕 - 它结束了我与客户端的连接..
如何让客户端保持连接但仍处于锁定状态?
注意:锁定不是永远的!它只有一次,就像让客户的计算机进入睡眠模式,直到他想解锁屏幕。
希望我说得够清楚了。感谢您的帮助!
服务器:
import socket
def main():
sock = socket.socket()
sock.bind(('0.0.0.0', 4582))
print("Waiting for connections...")
sock.listen(1)
conn, addr = sock.accept()
print ("New connection from: ", addr)
while 1:
command = input("Enter command> ")
if command == 'shutdown':
sock.send(b'shutdown')
elif command == 'lock':
sock.send(b'lock')
else:
print ("Unknown command")
data = sock.recv(1024)
print (data)
if __name__ == '__main__':
main()
客户:
import socket
import ctypes
def main():
sock = socket.socket()
sock.connect(('127.0.0.1', 4582))
while 1:
data = sock.recv(1024)
print (data)
if data == 'lock':
sock.send(b'locking')
ctypes.windll.user32.LockWorkStation()
sock.recv(1024)
if __name__ == '__main__':
main()
相关分类