Python 简单soket例子
2024-10-13 09:59:22
简单的soket例子 |
Python 2.0 客户端服务端传输
1.可发字符串,可发字节 bys类型
Python 3.0 客户端服务端传输
1.只能发bys,比特流的类型。
2.bys类型只能接收 ASCLL码里的数据类型。
3.如果想传入中文:
简单的soket链接例子
需求:服务端帮客户端处理字符串信息为大写
客户端
#客户端
import socket #声明协议类型,同事生成socket连接对象
client = socket.socket() #链接地址和端口,元组(本地,端口)
client.connect(('localhost',6969)) #发送数据 b将字符串转为bys类型
client.send(b"Hello World!") #接收服务器端的返回,需要声明收多少,默认1024字节
data = client.recv(1024) #打印data是recv的data
print("recv:",data) #关闭接口
client.close()
#结果
#recv: b'HELLO WORLD!'
服务端
#服务端
import socket #声明类型,生成socket链接对象
server = socket.socket() #监听接收端口元组(本地,端口),绑定要监听的端口
server.bind(('localhost',6969)) #监听
server.listen() print("我要开始等待客户端了")
#1.等待客户端 #会返回链接的标记位conn,与连接的地址
#2.客户端同过conn,addr进行通话
#3.conn就是客户端连接过来而在服务器端为其生成的一个连接实例
conn,addr = server.accept() #查看标记位与IP地址
print(conn,addr) print("客户端 他 进来了!")
#接收数据
data = conn.recv(1024)
print("recv:",data) #返回一个值,处理变为大写
conn.send(data.upper()) #关闭链接
server.close()
#结果
#我要开始等待客户端了
# <socket.socket fd=336, family=AddressFamily.AF_INET,
# type=SocketKind.SOCK_STREAM, proto=0,
# laddr=('127.0.0.1', 6969),
# raddr=('127.0.0.1', 55652)> ('127.0.0.1', 55652)
#客户端 他 进来了!
#recv: b'Hello World!'
注:客户端操作
(1)传送时“ .encode("utf-8") ”转成ASCLL码(发不了空)。
(2) 返回时" .decode() "UTF-8转成 Unicode。
最新文章
- Express的搭建--nodejs的学习
- ionic使用方法
- dp入门--poj 1163数塔
- 在Eclipse中使用Junit进行单元测试练习 实现最大子数组和算法
- c语言求数组长度
- 十个节省时间的MySQL命令
- ASP.NET Identity 3.0教程
- 出现java.lang.NoClassDefFoundError: com/google/common/base/Charsets异常错误
- 杭电ACM2096--小明A+B
- 全部快捷方式图标变成LNK文件怎么办
- mongo数据库基础操作
- sublime text3中的常用插件
- 如何给开源的DUILib支持Accessibility(论述了DUILib的六个缺点,很精彩)
- PHP中cURL错误号对照[转]
- nginx 目录密码保护的设置方法
- jq 进度条插件
- 在Windows上运行Linux
- SSM-MyBatis-06:Mybatis中openSession到底做了什么
- 0x14哈希之兔子兔子
- 纯js星级评分