Python Socket编程之多线程聊天室
作者:zyaphone 发布时间:2021-03-23 21:01:02
标签:python,聊天室
本文为大家分享了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()
来源:https://blog.csdn.net/u012225151/article/details/52260835
0
投稿
猜你喜欢
- 前一段时间有发过一个简单的JMAIL邮件发邮件的代码,今天就把这个代码做一个具体的注解,并增加了另外两个格式的代码,并举几个简单
- 两段使用键盘的上下键进行选择的代码:<Script Language="JScript"> &
- 1,filesize()函数返回错误的值。 使用curl将某个页面下载到本地时,需要将下载到的临时文件tmpHtml.txt的内容读取到一个
- 本文实例讲述了php基于curl主动推送最新内容给百度收录的方法。分享给大家供大家参考,具体如下:php curl的好处可以以最快的方式并且
- 1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条SQL语句的执行计划,并将执行计划输出
- CentOS mysql安装还是很常用的软件,我就学习如何CentOS mysql安装,在这里拿出来和大家分享一下,希望对大家有用。Cent
- 阅读:Dreamweaver量身打造Wordpress留言板(一)虽然说在Dreamweaver量身打造Wordpress留言板(二)这一篇
- 方法对比:使用df[(df[“a”] > 3) & (df[“b&
- 初学ASP,程序是能勉强写出来了,但若每进行一次网站页面的改版,所有的源程序都将进行一次移植手术。为此所耗费的人力精力不计其数,甚至一不小心
- Mac版Python3安装/升级Mac系统自带Python,但都是2.X版本,非常老的版本了。如果我们需要安装Python3版本,怎么能快速
- NMS 算法在目标检测,目标定位领域有较广泛的应用。算法原理非极大值抑制算法(Non-maximum suppression, NMS)的本
- 下列语句部分是Mssql语句,不可以在access中使用。SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLAR
- 在 settings.py 中添加以下内容:LOGGING = { 'version': 1,
- 前言前几天逛github发现了一个有趣的并发库-conc,其目标是:更难出现goroutine泄漏处理panic更友好并发代码可读性高从简介
- 本文实例讲述了PHP面向对象的特性。分享给大家供大家参考,具体如下:Demo1.php<?php header('
- 疑问在调用socket的时候,我们会使用到listen()函数,里面有个参数叫backlog, 例如:socket.listen(5). 那
- 在开发 图像 动画 游戏 相关的程序时, 双缓冲( double-buffer )一直是程序员常用(必用)的技巧. 当然 随着各种引擎 框架
- 在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()"
- 最近朋友需要一个可以识别图片中的文字的程序,以前做过java验证码识别的程序;刚好最近在做一个python项目,所以顺便用Python练练手
- 目录1、前言2、详解1、前言使用中如果我们想把python可识别对象的dict类型的数据通过str类型写入文件或者存入变量中就需要用到dum