Python基于socket怎么实现TCP客户端和服务端
发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,这篇文章主要讲解了"Python基于socket怎么实现TCP客户端和服务端",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python基于socket
千家信息网最后更新 2025年01月30日Python基于socket怎么实现TCP客户端和服务端
这篇文章主要讲解了"Python基于socket怎么实现TCP客户端和服务端",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python基于socket怎么实现TCP客户端和服务端"吧!
一、基于socket实现的TCP客户端
import socket # 建立socket对象# 参数一表示IP地址类型(AF_INET为IPV4,AF_INET6为IPV6),参数二表示连接的类型(SOCK_STREAM表示TCP形式,SOCK_DGRAM表示UDP形式)client_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 代表(ipv4,TCP) # 连接服务器(元组中填目标ip地址和端口号)client_socket.connect(('127.0.0.1',7777))# 准备数据,需要转换为二进制数据,encode()中填写的是本地的字符串编码格式,mac、linux填utf-8data='hello'.encode('gbk')# 向服务器发送数据client_socket.send(data)# 接收数据,必须要指定接收数据的大小,单位字节,最大4096,即4krecv_data=client_socket.recv(1024)# 接收的数据要进行decode()解码,发送的时候用啥编码就填啥编码recv_data=recv_data.decode('gbk')print(recv_data)# 关闭连接client_socket.close()
二、基于socket实现的TCP服务端
import socket# 建立socket对象server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)# 如果服务器是一次性的,如果服务器结束后马上重新启动会出现一个错误,原因是地址和端口没有被释放# OSError: [Errno 48] Address already in use# 如果想马上释放,要设置一下socket选项server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)# 绑定IP和端口,如果在绑定IP时没有给定IP,默认是绑定本地IPserver_socket.bind(('',7777))# 设置监听(最大监听数),设置完后服务端会进入被动模式,不能主动连接客户端,只能被动地等待客户端的连接server_socket.listen(128)# 等待客户端连接,连接上后,函数会返回客户端的Socket对象和地址信息client_socket,ip_port=server_socket.accept()print(f'客户端{ip_port[0]}使用端口{ip_port[1]}连接成功...')# 接收客户端数据data=client_socket.recv(1024)# 查看客户端发送的数据长度if len(data)!=0: data=data.decode('gbk') print(f'客户端{ip_port[0]}使用端口{ip_port[1]}发送是数据是{data}')else: print(f'客户端{ip_port[0]}使用端口{ip_port[1]}关闭了连接') # 给客户端发送数据data='你好'.encode('gbk')client_socket.send(data)# 关闭客户端client_socket.close()# 关闭服务端server_socket.close()
感谢各位的阅读,以上就是"Python基于socket怎么实现TCP客户端和服务端"的内容了,经过本文的学习后,相信大家对Python基于socket怎么实现TCP客户端和服务端这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
客户
客户端
服务
数据
端口
地址
服务器
对象
编码
学习
最大
内容
参数
形式
端的
类型
马上
监听
主动
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
linux服务器文件命令
《网络安全法》的评价
外卖小程序需要数据库吗
c 动态数据库设计
天亮了网络技术
肖战宣传网络安全上热搜
阿里云服务器配置选择
北京行控科技软件开发怎么样
边缘ai计算服务器价格
华软网络技术系
金山区创新软件开发厂家资格
长沙专业软件开发机构
智慧城市管理智慧云服务器
合肥电信大数据库在哪里
数据库原理与设计答案
上海城管通软件开发系统
网络安全大脑保护互联网
软件开发现在工资
三级数据库考试怎么考
金博软件数据库备份
软件开发类考核标准
阿里云与腾讯云服务器网速对比
网络安全大赛在哪看
服务器安全事件在哪里体现
广东常规软件开发价钱
计算机网络技术专业难学
国家网络安全宣传视频云南
设置数据库只读语句
野马云服务器
access数据库记录能否为零