鱼C论坛

 找回密码
 立即注册
查看: 2185|回复: 2

为什么我的TCP客户端会报错呢

[复制链接]
发表于 2017-3-2 18:13:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
先上服务器的代码:

from socket import *
from time import ctime

HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)

while True:
    print('waiting for connection...')
    tcpCliSock, addr = tcpSerSock.accept()
    print('...connected from :', addr)

    while True:
        date = tcpCliSock.recv(BUFSIZ)
        if not date:
            break
        tcpCliSock.send('[%s] %s' % (
            bytes(ctime(), 'utf-8'), date))

    tcpCliSock.close()

tcpSerSock.close()

下面是客户端:

from socket import *

HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)

tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)

while True:
    data = input('> ')
    if not data:
        break
    tcpCliSock.send(data)
    data = tcpCliSock.recv(BUFSIZ)
    if not data:
        break
    print(data.decode('utf-8'))

tcpCliSock.close()

这些代码都是我照着<python核心编程>这本书抄的,但是先运行服务器,再运行客户端,输入后会报错。
错误出现在17行,是 TypeError: a bytes-like object is required, not 'str'
求大神解决,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-3-2 18:15:38 | 显示全部楼层

                               
登录/注册后可看大图
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-8 17:30:47 | 显示全部楼层
楼主,你贴代码用专门的贴撒,这样看起好恼火
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-22 08:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表