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小技巧之批量抓取美女图片
Jun 06 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
Oct 16 Python
PyQt5主窗口动态加载Widget实例代码
Feb 07 Python
使用python绘制二元函数图像的实例
Feb 12 Python
Python3.5文件修改操作实例分析
May 01 Python
网易2016研发工程师编程题 奖学金(python)
Jun 19 Python
python将邻接矩阵输出成图的实现
Nov 21 Python
Django的ListView超详细用法(含分页paginate)
May 21 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
Jun 06 Python
python和node.js生成当前时间戳的示例
Sep 29 Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 Python
Matlab使用Plot函数实现数据动态显示方法总结
Feb 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
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
建站常用13种PHP开源CMS比较
2009/08/23 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
php递归使用示例(php递归函数)
2014/02/14 PHP
非常好的js代码
2006/06/27 Javascript
如何用javascript控制上传文件的大小
2006/10/26 Javascript
做网页的一些技巧(续)
2007/02/01 Javascript
js 替换
2008/02/19 Javascript
JavaScript 提升运行速度之循环篇 译文
2009/08/15 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
AngularJS  ng-table插件设置排序
2016/09/21 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
python基于queue和threading实现多线程下载实例
2014/10/08 Python
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
在Django的视图(View)外使用Session的方法
2015/07/23 Python
Python中特殊函数集锦
2015/07/27 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
大学生水文观测实习自我鉴定
2013/09/29 职场文书
追悼会上的答谢词
2014/01/10 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
2014年教师节寄语
2014/04/03 职场文书
2014年人事科工作总结
2014/11/19 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书