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 相关文章推荐
python3实现ftp服务功能(服务端 For Linux)
Mar 24 Python
浅谈python 里面的单下划线与双下划线的区别
Dec 01 Python
机器学习经典算法-logistic回归代码详解
Dec 22 Python
对命令行模式与python交互模式介绍
May 12 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
Django框架orM与自定义SQL语句混合事务控制操作
Jun 27 Python
使用python打印十行杨辉三角过程详解
Jul 10 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 Python
Python OpenCV去除字母后面的杂线操作
Jul 05 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 31 Python
python如何利用traceback获取详细的异常信息
Jun 05 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
域名查询代码公布
2006/10/09 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
微信支付之JSAPI公众号支付详解
2019/05/15 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
WebPack配置vue多页面的技巧
2018/05/15 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
2019/01/18 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
举例区分Python中的浅复制与深复制
2015/07/02 Python
python中解析json格式文件的方法示例
2017/05/03 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
Python网络编程之TCP套接字简单用法示例
2018/04/09 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
实时获取Python的print输出流方法
2019/01/07 Python
python 为什么说eval要慎用
2019/03/26 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
高中毕业生的个人自我评价
2014/02/21 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电