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实现简单温度转换的方法
Mar 13 Python
pymssql数据库操作MSSQL2005实例分析
May 25 Python
基于pandas数据样本行列选取的方法
Apr 20 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
May 15 Python
python使用多进程的实例详解
Sep 19 Python
python实现的多任务版udp聊天器功能案例
Nov 13 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
Mar 05 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
IntelliJ 中配置 Anaconda的过程图解
Jun 01 Python
Python requests及aiohttp速度对比代码实例
Jul 16 Python
python 常见的反爬虫策略
Sep 27 Python
python flappy bird小游戏分步实现流程
Feb 15 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/05/15 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
php 判断页面或图片是否经过gzip压缩的方法
2017/04/05 PHP
php提取微信账单的有效信息
2018/10/01 PHP
php如何计算两坐标点之间的距离
2018/12/29 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
使用JS获取SessionStorage的值
2018/01/12 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
2019/03/05 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
jQuery实现本地存储
2020/12/22 jQuery
python调用新浪微博API项目实践
2014/07/28 Python
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
使用python 3实现发送邮件功能
2018/06/15 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
Python获取excel内容及相关操作代码实例
2020/08/10 Python
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
苹果音乐订阅:Apple Music
2018/08/02 全球购物
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
非功能性需求都包括哪些方面
2013/10/29 面试题
自荐信模版
2013/10/24 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
2014司机年终工作总结
2014/12/05 职场文书
先进集体申报材料
2014/12/25 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
党风廉政建设心得体会
2019/05/21 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python