Python Socket编程之多线程聊天室


Posted in Python onJuly 28, 2018

本文为大家分享了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 相关文章推荐
Python 连连看连接算法
Nov 22 Python
使用Python脚本来控制Windows Azure的简单教程
Apr 16 Python
分数霸榜! python助你微信跳一跳拿高分
Jan 08 Python
Python实现合并两个列表的方法分析
May 28 Python
pygame游戏之旅 添加游戏暂停功能
Nov 21 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
Jul 03 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
Jul 13 Python
Python实现一个论文下载器的过程
Jan 18 Python
使用python对excel表格处理的一些小功能
Jan 25 Python
OpenCV 图像梯度的实现方法
Jul 25 Python
python实现点对点聊天程序
Jul 28 #Python
基于python实现聊天室程序
Jul 27 #Python
Python中return self的用法详解
Jul 27 #Python
TensorFlow打印tensor值的实现方法
Jul 27 #Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 27 #Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 #Python
Tensorflow加载预训练模型和保存模型的实例
Jul 27 #Python
You might like
分页详解 从此分页无忧(PHP+mysql)
2007/11/23 PHP
php调用c接口无错版介绍
2014/03/11 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
thinkPHP实现表单自动验证
2014/12/24 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
JavaScript 空位补零实现代码
2010/02/26 Javascript
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
js查找节点的方法小结
2015/01/13 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
Python 深入理解yield
2008/09/06 Python
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
python中的装饰器详解
2015/04/13 Python
Python中生成器和yield语句的用法详解
2015/04/17 Python
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
利用css3制作3D样式按钮实现代码
2013/03/18 HTML / CSS
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
中专生求职自荐信范文
2013/12/22 职场文书
小学六年级学生评语
2014/04/22 职场文书
销售口号大全
2014/06/11 职场文书
安全隐患整改报告
2014/11/06 职场文书
布达拉宫的导游词
2015/02/02 职场文书
了解Redis常见应用场景
2021/06/23 Redis