Python基于socket实现简单的即时通讯功能示例


Posted in Python onJanuary 16, 2018

本文实例讲述了Python基于socket实现简单的即时通讯功能。分享给大家供大家参考,具体如下:

客户端tcpclient.py

# -*- coding: utf-8 -*-
import socket
import threading
# 目标地址IP/URL及端口
target_host = "127.0.0.1"
target_port = 9999
# 创建一个socket对象
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 连接主机
client.connect((target_host,target_port))
def handle_send():
  while True:
    content = raw_input()
    client.send(content)
def handle_receive():
  while True:
    response = client.recv(4096)
    print response
send_handler = threading.Thread(target=handle_send,args=())
send_handler.start()
receive_handler = threading.Thread(target=handle_receive,args=())
receive_handler.start()

服务器端tcpserver.py

# -*- coding: utf-8 -*-
import socket
import threading
# 监听的IP及端口
bind_ip = "127.0.0.1"
bind_port = 9999
#socket 服务器初始化
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind((bind_ip,bind_port))
server.listen(5)
print "[*] Listening on %s:%d" % (bind_ip,bind_port)
# 定义函数handle_client,输入参数client_socket
def handle_client():
  while True:
    request = client_socket.recv(1024)
    print "[*] Received:%s" % request
def handle_send():
  while True:
    content = raw_input()
    client_socket.send(content);
#阻塞在这里,等待接收客户端的数据
client_socket,addr = server.accept()
print "[*] Accept connection from:%s:%d" % (addr[0],addr[1])
#创建一个线程
client_handler = threading.Thread(target=handle_client,args=())
client_handler.start()
send_handler = threading.Thread(target=handle_send,args=())
send_handler.start()

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
简单介绍Python中的len()函数的使用
Apr 07 Python
详解Python中break语句的用法
May 14 Python
python使用psutil模块获取系统状态
Aug 27 Python
Python 16进制与中文相互转换的实现方法
Jul 09 Python
python 读取文件并替换字段的实例
Jul 12 Python
利用pandas进行大文件计数处理的方法
Jul 25 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
Python小白垃圾回收机制入门
Jun 09 Python
python3.8动态人脸识别的实现示例
Sep 21 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 Python
详解用Python把PDF转为Word方法总结
Apr 27 Python
python中将字典形式的数据循环插入Excel
Jan 16 #Python
python+tkinter编写电脑桌面放大镜程序实例代码
Jan 16 #Python
详解python函数传参是传值还是传引用
Jan 16 #Python
Python+tkinter使用80行代码实现一个计算器实例
Jan 16 #Python
Python使用matplotlib填充图形指定区域代码示例
Jan 16 #Python
python+matplotlib实现礼盒柱状图实例代码
Jan 16 #Python
Python+matplotlib实现填充螺旋实例
Jan 15 #Python
You might like
在PHP中使用模板的方法
2008/05/24 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
2019/05/06 PHP
JavaScript prototype属性深入介绍
2012/11/27 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
2013/01/15 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
django ORM之values和annotate使用详解
2020/05/19 Python
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
编写类String 的构造函数、析构函数和赋值函数
2012/09/09 面试题
精通CAD能手自荐书
2014/01/31 职场文书
心理健康课教学反思
2014/02/13 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
文体活动实施方案
2014/03/27 职场文书
优秀德育工作者事迹材料
2014/05/07 职场文书
群教班子对照检查材料
2014/08/26 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
开除通知书范本
2015/04/25 职场文书
校长一岗双责责任书
2015/05/09 职场文书
小学校本教研总结
2015/08/13 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书