我正在使用套接字在我的本地网络上运行的聊天服务器上工作,然后我的客户端程序在我家的所有计算机上运行,并且此程序允许所有客户端相互通话。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()
谢谢!