python 开发简单的聊天工具

python 太强大了,以至于它什么都可以做,哈哈,开个玩笑。但是今天要讲的真的是一个非常神奇的应用。

使用python写一个聊天工具

其实大家平时用的QQ类似的聊天工具,也是使用socket进行聊天,只是它还包含了更加复杂的功能。基本原理是一样的。

python实现聊天功能,主要用到了socket模块。下面直接上实例吧

server端


1

2

3

4

5

6

7

8

9

10

11

12

13

import socket

s=socket.socket()

#建立socket链接

s.bind((‘127.0.0.1‘,8000))

#监听连接请求,其中的1 ,是指监听一个

s.listen(1)

#进行循环,一直监听client发来的消息

while 1:

#获取链接IP和端口

    conn,addr=s.accept()

    print ‘[‘+addr[0]+‘:‘+str(addr[1])+‘] send a message to me: ‘+conn.recv(1024)

    conn.sendall(‘I received a message from [‘+addr[0]+‘:‘+str(addr[1])+‘]‘)

s.close()

client 端,比较简单不需要监听,不需要循环


1

2

3

4

5

6

7

8

9

import socket

s=socket.socket()

#链接

s.connect((‘127.0.0.1‘8000))

#获取键盘输入

msg = raw_input("Please input your message:")

s.sendall(msg)

print s.recv(1024)

s.close()

时间: 2024-07-29 00:07:11

python 开发简单的聊天工具的相关文章

python 开发简单的聊天工具-乾颐堂

python 太强大了,以至于它什么都可以做,哈哈,开个玩笑.但是今天要讲的真的是一个非常神奇的应用. 使用python写一个聊天工具 其实大家平时用的QQ类似的聊天工具,也是使用socket进行聊天,只是它还包含了更加复杂的功能.基本原理是一样的. python实现聊天功能,主要用到了socket模块.下面直接上实例吧 server端 1 2 3 4 5 6 7 8 9 10 11 12 13 import socket s=socket.socket() #建立socket链接 s.bind

Python开发简单爬虫

可关注我的个人微信公众号:卟野iiiiiiiya Python开发简单爬虫: https://mp.weixin.qq.com/s?__biz=MzI0MDY0NzI3Mw==&tempkey=OTMwX3pMejY4VFdoVlQ1cWpyNXNYdFhqcWViaHY1bFlQUTdmU1RrUnpkc1IzQmNfWENHVXFZb2ZLajhURlFyZmZaa3JVOHRkYkJaZVF1ZXVmdk5nUHFFNU0xeVAyQm1rMnlLbVJGa3h4eTBpMjNVdnc3b

Python开发简单记事本

摘要: 本文是使用Python,结合Tkinter开发简单记事本. 本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能. 最近很想对python加深学习一下,同时也是想试着做一些东西,今天使用python,结合Tkinter来做一个简单的跨平台记事本.最终实现的记事本如下,也算是麻雀虽小,五脏俱全了,之后也是会继续完善的: 如上图,我们可以看到这个记事本主要分为三个模块:文件,编辑和关于,结合我自身的习惯外加四个toolbar:新

利用Python来写一个聊天工具!可能下个QQ或者微信会是你开发的?

用到的库 socket库 进群:548377875 即可获取数十套PDF哦! 先看代码! TCP服务端 TCP客户端 '电话'接通后对方就会开始'说话'(发送了消息),接收消息了recv是接收信息,1024这里需要解释一下,是接收的最大字节(接收到的内容为二进制).但是细心的读者可能发现了,用send发送的时候并没有设置发送的字节,其实可以更大,最大不要超过8K就可以了.下面解释这个怎么用才能更好. 接收消息了还需要发送信息.发送信息只需要用send就可以发了,但是需要发送二进制的内容. 另外一

Python 开发简单爬虫 - 基础框架

1. 目标:开发轻量级爬虫(不包括需登陆的 和 Javascript异步加载的) 不需要登陆的静态网页抓取 2. 内容: 2.1 爬虫简介 2.2 简单爬虫架构 2.3 URL管理器 2.4 网页下载器(urllib2) 2.5 网页解析器(BeautifulSoup) 2.6 完整实例:爬取百度百科Python词条相关的1000个页面数据 3. 爬虫简介:一段自动抓取互联网信息的程序 爬虫价值:互联网数据,为我所用. 4. 简单爬虫架构: 运行流程: 5. URL管理器:管理待抓取URL集合

Python开发简单爬虫(一)

一 .简单爬虫架构: 爬虫调度端:启动爬虫,停止爬虫,监视爬虫运行情况 URL管理器:对将要爬取的和已经爬取过的URL进行管理:可取出带爬取的URL,将其传送给“网页下载器” 网页下载器:将URL指定的网页下载,存储成一个字符串,在传送给“网页解析器” 网页解析器:解析网页可解析出 ①有价值的数据 ②另一方面,每个网页都包含有指向其他网页的URL,解析出来后可补充进“URL管理器”,不断循环. 二.简单爬虫架构的动态运行流程 三.爬虫URL管理 URL管理器:管理待抓取URL集合和已抓取URL集

Python开发简单爬虫(二)---爬取百度百科页面数据

一.开发爬虫的步骤 1.确定目标抓取策略: 打开目标页面,通过右键审查元素确定网页的url格式.数据格式.和网页编码形式. ①先看url的格式, F12观察一下链接的形式;② 再看目标文本信息的标签格式, 比如文本数据为div class="xxx", ③ 容易看到编码为utf-8 2.分析目标 目标: 百度百科python词条 入口页: http://baike.baidu.com/item/Python词条页面url格式:/item/**** 数据格式: 标题: <dd cl

【实战小项目】python开发自动化运维工具--批量操作主机

有很多开源自动化运维工具都很好用如ansible/salt stack等,完全不用重复造轮子.只不过,很多运维同学学习Python之后,苦于没小项目训练,本篇演示用Python写一个批量操作主机的工具,大家空余时候可以试着写写,完善完善. 1 思路分析 在运维工作中,古老的方式部署环境.上线代码可能都需要手动在服务器上敲命令,不胜其烦.所以,脚本,自动化工具等还是很有必要的.我觉得一个批量操作工具应该考虑以下几点: (1)本质上,就是到远程主机上执行命令并返回结果. (2)做到批量.也就是要并发

Python 开发简单爬虫 - 实战演练

爬取百度百科1000个页面的数据 1. 准备工作: 确定目标  =>  分析目标(URL格式, 数据格式, 网页编码) =>  编写代码  =>  执行爬虫 1.1 链接分析: 进入百度百科"Python"词条页面:http://baike.baidu.com/view/21087.htm => 在链接位置右键后,点击审查元素, href="/view/2561555.htm" 是一个不完整的url, 在代码中需要拼接成完整的 baike.b