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 30 Python
python入门前的第一课 python怎样入门
Mar 06 Python
对numpy中shape的深入理解
Jun 15 Python
Django实现学生管理系统
Feb 26 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
Aug 20 Python
python datetime中strptime用法详解
Aug 29 Python
python opencv实现信用卡的数字识别
Jan 12 Python
Python统计文本词汇出现次数的实例代码
Feb 27 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
Python环境搭建过程从安装到Hello World
Feb 05 Python
python中的None与NULL用法说明
May 25 Python
Python中的程序流程控制语句
Feb 24 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执行速度全攻略
2006/10/09 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
Bootstrap选项卡动态切换效果
2016/11/28 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
bootstrap datetimepicker控件位置异常的解决方法
2017/11/23 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
express 项目分层实践详解
2018/12/10 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
[01:13]这,就是刀塔
2014/07/16 DOTA
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
Python返回数组/List长度的实例
2018/06/23 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
DataList 能否分页,请问如何实现?
2015/05/03 面试题
《商鞅南门立木》教学反思
2014/02/16 职场文书
员工保密承诺书
2014/05/28 职场文书
国庆横幅标语
2014/10/08 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
个人求职信格式范文
2015/03/20 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书