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写的服务监控程序实例
Jan 31 Python
用Python解析XML的几种常见方法的介绍
Apr 09 Python
基于进程内通讯的python聊天室实现方法
Jun 28 Python
python Django批量导入数据
Mar 25 Python
python3.0 模拟用户登录,三次错误锁定的实例
Nov 02 Python
儿童编程python入门
May 08 Python
解决Python print 输出文本显示 gbk 编码错误问题
Jul 13 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
Django框架实现的简单分页功能示例
Dec 04 Python
Django中提示消息messages的设置方式
Nov 15 Python
WxPython实现无边框界面
Nov 18 Python
django为Form生成的label标签添加class方式
May 20 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笔记之:文章中图片处理的使用
2013/04/26 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
深入理解PHP之OpCode原理详解
2016/06/01 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
JavaScript创建命名空间(namespace)的最简实现
2007/12/11 Javascript
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
js捕获鼠标滚轮事件代码
2013/12/16 Javascript
JavaScript实现Flash炫光波动特效
2015/05/14 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
jQuery图片轮播插件——前端开发必看
2016/05/31 Javascript
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
微信小程序如何获取用户信息
2018/01/26 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
vue动态配置模板 'component is'代码
2019/07/04 Javascript
python opencv检测目标颜色的实例讲解
2018/04/02 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
幼儿园的门卫岗位职责
2014/04/10 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
电气工程师岗位职责
2015/02/12 职场文书
小升初自荐信范文
2015/03/05 职场文书
行政复议答复书
2015/07/01 职场文书
婚礼家长致辞
2015/07/27 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
Python Django 后台管理之后台模型属性详解
2021/04/25 Python
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js