Python网络编程(四)-socket编程,发生“TypeError: a bytes-like object is required, not ‘str“错误以及解决方式

1. Python socket简介:

和其它编程语言一样,python也支持socket套接字。

需要注意的是,在python3版本进行数据发送和接收时,需要用字节流。否则会出现“TypeError: a bytes-like object is required, not 'str”错误。

本例程就出现这样的问题了。

2. Python socket实践:

问题描述:

在使用python socket进行网络编程时,出现“TypeError: a bytes-like object is required, not 'str”错误。
(我使用的版本是Python 3.8.2)。

问题分析:
这是因为在进行网络传输时,需要用byte类型来进行网络传输,而不是str类型。

解决方法:
在server端,用encode(),  在client端,用decode()进行字符串和字节的转换,具体代码如下:
 

详细代码:

(1)服务端代码:socket_server.py

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 功能:服务端代码 
# 文件名:socket_server.py
import os,sys
import socket               # 导入 socket 模块

#创建socket和监听端口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值