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和监听端口