时间,渐渐带走了年少轻狂,也慢慢沉淀了冷暖自知。成功的道路上,肯定会有失败;对于失败,我们要正确地看待和对待,不怕失败者,则必成功;怕失败者,则一无是处,会更失败。
本文为大家分享了Python多线程聊天室,是一个Socket,两个线程,一个是服务器,一个是客户端。
最近公司培训,要写个大富翁的小程序,准备做个服务器版的,先练练手。
代码:
#coding = utf-8
import socket
import threading
class UdpServer(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.address = ('127.0.0.1', 10000)
self.s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
self.s.bind(self.address)
self.stop_flag = False
def recieve_msg(self):
(data, addr) = self.s.recvfrom(2048)
if data:
print 'recieve data from', addr
print data
def run(self):
while not self.stop_flag:
self.recieve_msg()
def stop(self):
self.stop_flag = True
class UdpClient(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.address = ('127.0.0.1', 10001)
self.s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
self.stop_flag = False
def send_msg(self):
data = raw_input()
if not data:
print 'Wrong inpiut'
return
else:
self.s.sendto(data, self.address)
def run(self):
while not True:
self.send_msg()
def stop(self):
self.stop_flag = True
def main():
t1 = UdpServer()
t2 = UdpClient()
t1.start()
t2.start()
if __name__ == '__main__':
main()
以上就是Python Socket编程之多线程聊天室。昨日梦见了犹豫,达到理想不太易,即使有信心,斗志却抑制!更多关于Python Socket编程之多线程聊天室请关注haodaima.com其它相关文章!




