Python Socket编程之多线程聊天室

本文为大家分享了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编程之多线程聊天室 的全部内容, 来源链接: utcz.com/z/313107.html

回到顶部