socket网络编程基础(乒乓球原理)



乒乓原理

这里写图片描述


注意:
  1). 客户端发送给服务端,大小写不会变化
  2).字符串.encode().upper() 到客户端 decode()之后,英文字母会全变成大写
  3). 传各种数据,配合 pickle【个人建议】


server 端

server = socket.socket(AF.INET, sock.SOCK_STREAM)

# 绑定要监听的端口
server.bind('localhost', 6969)

# 监听开始
server.listen()

# 等待接入
server.accept()

# 准备接收的数据大小 字节 8192
data = server.recv(1024)
print('接收到:', data)

# 发送数据
server.send(data.upper())

# 关闭连接
server.close()

client 端

client = socket.socket()
client.connect(('localhost', 6969))

client.send('hello')
data = client.recv(1024)

print(data)
client.close()

粘包

  客户端发出一条命令,服务端不能一次性全部返回;而且服务器将原有的接收到的命令返回信息和命令运行后的结果,都传回到客户端,这样数据就混在一直,这种形态就是粘包

  • 防止粘包:隔断上下关联
    这里写图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值