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合并文本文件示例
Feb 07 Python
Python利用Beautiful Soup模块创建对象详解
Mar 27 Python
Python3.6简单操作Mysql数据库
Sep 12 Python
Python矩阵常见运算操作实例总结
Sep 29 Python
pandas中去除指定字符的实例
May 18 Python
Python拼接微信好友头像大图的实现方法
Aug 01 Python
利用python循环创建多个文件的方法
Oct 25 Python
简单了解Pandas缺失值处理方法
Nov 16 Python
python实现删除列表中某个元素的3种方法
Jan 15 Python
Python迭代器协议及for循环工作机制详解
Jul 14 Python
python3代码中实现加法重载的实例
Dec 03 Python
Python3使用Selenium获取session和token方法详解
Feb 16 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
全国FM电台频率大全 - 23 四川省
2020/03/11 无线电
php下过滤HTML代码的函数
2007/12/10 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
js css后面所带参数含义介绍
2013/08/18 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
jquery ztree实现右键收藏功能
2017/11/20 jQuery
微信运维交互机器人的示例代码
2018/11/12 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
ES6 十大特性简介
2020/12/09 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
python如何在终端里面显示一张图片
2016/08/17 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
Python中最大递归深度值的探讨
2019/03/05 Python
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
2017/05/18 HTML / CSS
联想中国官方商城:Lenovo China
2017/10/18 全球购物
企业演讲稿范文大全
2014/05/20 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
个人职业及收入证明
2014/10/13 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
奖金申请报告模板
2015/05/15 职场文书
暑期工社会实践报告
2015/07/13 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers