zoukankan      html  css  js  c++  java
  • python socket的send不能发送字符串解决办法

    sever.py

    import socket
    s = socket.socket()
    host = socket.gethostname()
    port = 13323
    s.bind((host,port))
    s.listen(5)
    while True:
        c,addr = s.accept()
        print('连接地址:',addr)
        str1 = '欢迎'
        c.send(str1)
        c.close()

    client.py

    import socket
    
    s = socket.socket()
    host = socket.gethostname()
    port = 13323
    s.connect((host,port))
    print(s.recv(1024))
    s.close()

    分别运行之后sever.py报错

    Traceback (most recent call last):
      File ".server.py", line 11, in <module>
        c.send(str1)
    TypeError: a bytes-like object is required, not 'str'

    解决办法:

    sever.py改为

    import socket
    s = socket.socket()
    host = socket.gethostname()
    port = 13323
    s.bind((host,port))
    s.listen(5)
    while True:
        c,addr = s.accept()
        print('连接地址:',addr)
        str1 = '欢迎'
        c.send(str1.encode("utf8"))
        c.close()

    client.py改为

    import socket
    
    s = socket.socket()
    host = socket.gethostname()
    port = 13323
    s.connect((host,port))
    print(s.recv(1024).decode())
    s.close()

    分别运行后:

    client.py输出

    欢迎
  • 相关阅读:
    路由配置系统(URLconf)
    Django常见命令
    MVC框架和MTV框架
    Django基础
    服务器程序和应用程序
    自定义web框架
    HTTP协议对收发消息的格式要求
    web框架的本质
    python国内镜像源
    Scrapy框架安装失败解决办法
  • 原文地址:https://www.cnblogs.com/daicw/p/13067065.html
Copyright © 2011-2022 走看看