我正在使用套接字在我的本地網絡上運行的聊天服務器上工作,然後我的客戶端程序在我家的所有計算機上運行,並且此程序允許所有客戶端相互通話。Python:通知系統?
問題是,您必須通過按回車手動更新聊天記錄。
我希望它的工作方式,也許,是檢查新郵件每隔幾秒鐘,如果有一個新的,播放聲音。有沒有人知道我可以做到這一點,我會嘗試自己解決,因爲我已經完成了大部分這個項目,但任何幫助表示讚賞。
這裏是服務器:
import socket
import sys
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('192.168.1.80', 10000)
print >>sys.stderr, 'starting up on %s port %s' % server_address
sock.bind(server_address)
sock.listen(1)
print 'Waiting for user...'
convo='Welcome!'
while True:
# Find connections
connection, client_address = sock.accept()
try:
data = connection.recv(999)
if data=='EMPTY':
pass
else:
print data
convo=convo+'\n'+data
connection.sendall(convo)
except:
connection.close()
下面是客戶端:
import socket
import sys,os
name=raw_input("Enter name: ")
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('192.168.1.80', 10000)
print >>sys.stderr, 'connecting to %s port %s' % server_address
while True:
message=raw_input('Message: ')
try:
os.system('cls')
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(server_address)
if message is not '':
sock.sendall(name+": "+message)
else:
sock.sendall('EMPTY')
if message=='quit':
break
x=sock.recv(999)
print x
except:
break
sock.close()
謝謝!