#!/usr/bin/env python
# -*- coding: utf8 -*-
import socket
import threading
import pickle
import sys
from pygame import mixer
from datetime import datetime
class Client():
def __init__(self):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect(('192.168.1.40', 9090)) #192.168.1.40
msg_recv = threading.Thread(target=self.msg_recv)
msg_recv.daemon = True
msg_recv.start()
while True:
msg = input()
if msg != 'qq':
self.send_msg(msg)
else:
self.sock.close()
sys.exit()
def msg_recv(self):
while True:
try:
data = self.sock.recv(1024)
if data:
#Звуковое оповещение
'''
mixer.init()
mixer.music.load("1.mp3")
mixer.music.play()
playing = 1
while playing:
if not mixer.get_busy():
playing = 0
'''
#self.now = datetime.now()
#print(socket.gethostname() + ' > ' + pickle.loads(data))
#print(datetime.strftime(datetime.now(), "%H:%M") + ' ' + socket.gethostname() + ' > ' + pickle.loads(data))
print(datetime.strftime(datetime.now(), "%H:%M") + ' ' + socket.gethostname() + ' > ' + data.decode())
except:
pass
def send_msg(self, msg):
#self.sock.send(pickle.dumps(msg))
self.sock.send(msg.encode())
c = Client()
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiMgLSotIGNvZGluZzogdXRmOCAtKi0KCmltcG9ydCBzb2NrZXQKaW1wb3J0IHRocmVhZGluZwppbXBvcnQgcGlja2xlCmltcG9ydCBzeXMKZnJvbSBweWdhbWUgaW1wb3J0IG1peGVyCmZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCgoKY2xhc3MgQ2xpZW50KCk6CgoJZGVmIF9faW5pdF9fKHNlbGYpOgoKCQlzZWxmLnNvY2sgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCgkJc2VsZi5zb2NrLmNvbm5lY3QoKCcxOTIuMTY4LjEuNDAnLCA5MDkwKSkgIzE5Mi4xNjguMS40MAoKCQltc2dfcmVjdiA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYubXNnX3JlY3YpCgoJCW1zZ19yZWN2LmRhZW1vbiA9IFRydWUKCQltc2dfcmVjdi5zdGFydCgpCgoJCXdoaWxlIFRydWU6CgkJCW1zZyA9IGlucHV0KCkKCQkJaWYgbXNnICE9ICdxcSc6CgkJCQlzZWxmLnNlbmRfbXNnKG1zZykKCQkJZWxzZToKCQkJCXNlbGYuc29jay5jbG9zZSgpCgkJCQlzeXMuZXhpdCgpCgoJZGVmIG1zZ19yZWN2KHNlbGYpOgoJCXdoaWxlIFRydWU6CgkJCXRyeToKCQkJCWRhdGEgPSBzZWxmLnNvY2sucmVjdigxMDI0KQoJCQkJaWYgZGF0YToKCQkJCQkj0JfQstGD0LrQvtCy0L7QtSDQvtC/0L7QstC10YnQtdC90LjQtQoJCQkJCScnJwoJCQkJCW1peGVyLmluaXQoKQoJCQkJCW1peGVyLm11c2ljLmxvYWQoIjEubXAzIikKCQkJCQltaXhlci5tdXNpYy5wbGF5KCkKCgkJCQkJcGxheWluZyA9IDEKCQkJCQl3aGlsZSBwbGF5aW5nOgoJCQkJCSAgICBpZiBub3QgbWl4ZXIuZ2V0X2J1c3koKToKCQkJCQkgICAgICAgIHBsYXlpbmcgPSAwCgkJCQkJJycnCgkJCQkJI3NlbGYubm93ID0gZGF0ZXRpbWUubm93KCkKCgkJCQkJI3ByaW50KHNvY2tldC5nZXRob3N0bmFtZSgpICsgJyA+ICcgKyBwaWNrbGUubG9hZHMoZGF0YSkpCgoJCQkJCSNwcmludChkYXRldGltZS5zdHJmdGltZShkYXRldGltZS5ub3coKSwgIiVIOiVNIikgKyAnICcgKyBzb2NrZXQuZ2V0aG9zdG5hbWUoKSArICcgPiAnICsgcGlja2xlLmxvYWRzKGRhdGEpKQoJCQkJCXByaW50KGRhdGV0aW1lLnN0cmZ0aW1lKGRhdGV0aW1lLm5vdygpLCAiJUg6JU0iKSArICcgJyArIHNvY2tldC5nZXRob3N0bmFtZSgpICsgJyA+ICcgKyBkYXRhLmRlY29kZSgpKQoJCQlleGNlcHQ6CgkJCQlwYXNzCgoJZGVmIHNlbmRfbXNnKHNlbGYsIG1zZyk6CgkJI3NlbGYuc29jay5zZW5kKHBpY2tsZS5kdW1wcyhtc2cpKQoJCXNlbGYuc29jay5zZW5kKG1zZy5lbmNvZGUoKSkKCmMgPSBDbGllbnQoKQo=