python聊天程序实例代码分享


Posted in Python onNovember 18, 2013

代码简单,直接看代码吧:

import socket
import threading
import re
#import Tkinter
def ser():
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.bind(('',33333))
    s.listen(1)
    conn,addr=s.accept()
    while True:
        print '[%s:%d] send a message to me: %s'%(addr[0],addr[1],conn.recv(1024))
    s.close()
def clt():
    c=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    ip_pattern=re.compile(r'^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$')
    while True:
        ip=raw_input('Input the Server\'s IPv4 address:')
        ip_match=ip_pattern.match(ip)
        if ip_match:
            break
    c.connect((ip,33333))
    while True:
        sms=raw_input('Input the message you want to send:')
        c.sendall(sms)
    c.close()
if __name__=="__main__":
    ser=threading.Thread(target=ser)
    clt=threading.Thread(target=clt)
    ser.start()
    clt.start()
    ser.join()
    clt.join()
Python 相关文章推荐
pyv8学习python和javascript变量进行交互
Dec 04 Python
python两种遍历字典(dict)的方法比较
May 29 Python
Python实现给文件添加内容及得到文件信息的方法
May 28 Python
解析Python中的eval()、exec()及其相关函数
Dec 20 Python
python pyinstaller 加载ui路径方法
Jun 10 Python
在django view中给form传入参数的例子
Jul 19 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
pytorch: Parameter 的数据结构实例
Dec 31 Python
tensorflow之tf.record实现存浮点数数组
Feb 17 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
Mar 06 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 24 Python
Django实现随机图形验证码的示例
Oct 15 Python
python实现系统状态监测和故障转移实例方法
Nov 18 #Python
python线程池的实现实例
Nov 18 #Python
python批量导出导入MySQL用户的方法
Nov 15 #Python
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 #Python
python实现代理服务功能实例
Nov 15 #Python
Python(Tornado)模拟登录小米抢手机
Nov 12 #Python
Python3实现的腾讯微博自动发帖小工具
Nov 11 #Python
You might like
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
js异步加载的三种解决方案
2013/03/04 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
ExtJS4如何给同一个formpanel不同的url
2014/05/02 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
python海龟绘图实例教程
2014/07/24 Python
python编码最佳实践之总结
2016/02/14 Python
Python 内置函数complex详解
2016/10/23 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
多表查询、事务、DCL
2021/04/05 MySQL