154 python网络编程 - TCP案例(模拟QQ聊天)
2023-09-11 14:15:43 时间
客户端参考代码
#coding=utf-8
from socket import *
# 创建socket
tcpClientSocket = socket(AF_INET, SOCK_STREAM)
# 链接服务器
serAddr = ('192.168.1.102', 7788)
tcpClientSocket.connect(serAddr)
while True:
# 提示用户输入数据
sendData = raw_input("send:")
if len(sendData)>0:
tcpClientSocket.send(sendData)
else:
break
# 接收对方发送过来的数据,最大接收1024个字节
recvData = tcpClientSocket.recv(1024)
print 'recv:',recvData
# 关闭套接字
tcpClientSocket.close()
服务器端参考代码
#coding=utf-8
from socket import *
# 创建socket
tcpSerSocket = socket(AF_INET, SOCK_STREAM)
# 绑定本地信息
address = ('', 7788)
tcpSerSocket.bind(address)
# 使用socket创建的套接字默认的属性是主动的,使用listen将其变为被动的,这样就可以接收别人的链接了
tcpSerSocket.listen(5)
while True:
# 如果有新的客户端来链接服务器,那么就产生一个信心的套接字专门为这个客户端服务器
# newSocket用来为这个客户端服务
# tcpSerSocket就可以省下来专门等待其他新客户端的链接
newSocket, clientAddr = tcpSerSocket.accept()
while True:
# 接收对方发送过来的数据,最大接收1024个字节
recvData = newSocket.recv(1024)
# 如果接收的数据的长度为0,则意味着客户端关闭了链接
if len(recvData)>0:
print 'recv:',recvData
else:
break
# 发送一些数据到客户端
sendData = raw_input("send:")
newSocket.send(sendData)
# 关闭为这个客户端服务的套接字,只要关闭了,就意味着为不能再为这个客户端服务了,如果还需要服务,只能再次重新连接
newSocket.close()
# 关闭监听套接字,只要这个套接字关闭了,就意味着整个程序不能再接收任何新的客户端的连接
tcpSerSocket.close()
相关文章
- Python脚本写端口扫描器(socket,python-nmap)
- Python中zipfile压缩文件模块的使用
- 机器学习-朴素贝叶斯原理及Python实现
- 请问Python零基础学会可以做哪些?python是不是很难学?
- gyp ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- 源码编译vi过程中进行配置时报“checking if compile and link flags for Python are sane... no: PYTHON DISABLED”怎么办?
- python监控微信报警
- 《Python金融大数据分析》一2.1 Python部署
- python学习之基于Python的人脸识别技术学习
- Python通过Socket实现QQ聊天功能
- 16. python爬虫——基于scrapy爬取多页面新闻信息,通过请求传参完成持久化存储
- Mysql学习---Python操作Mysql 1231
- 华为OD机试 - 计算网络信号(Python)| 真题+思路+考点+代码+岗位
- Python 基础 之 python 线程知识点整理,并实现一个简单多线程 udp 聊天应用
- Python 工具 之 Windows 上 python 虚拟环境的搭建与简单使用的相关说明
- Unity 工具 之 报错 Jenkins 执行/调用 Python 脚本,报错提示 ‘python‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
- Python用python-docx读写word文档
- 2.1 The Python Interpreter(python解释器)
- Python pip 自动更新升级失败解决方案
- [Python]2分钟完成python + Selenium Web端自动化环境搭建,开启~~~
- Python期末复习题:函数
- Python 数组保存到文件