记录-第一个python3的socket编程--not 'str'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录-第一个python3的socket编程--not 'str'相关的知识,希望对你有一定的参考价值。
看到这个提示之后,确定了这个问题主要是是字符编码的问题了,那如何解决这个字符编码问题,目前想到的办法就是通过encode和decode来做字符编码转换了。
服务端进程
# cat tcp_server.py #! /bin/env python3 # -*- coding:utf-8 -*- ‘‘‘ Created on 2016年12月19日 @author: CC ‘‘‘ import socket import datetime HOST=‘0.0.0.0‘ PORT=3434 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.bind((HOST,PORT)) s.listen(1) while True: conn,addr=s.accept() print("Client %s connected!" % str(addr)) dt=datetime.datetime.now() message="Current time is " + str(dt) conn.send(message.encode(‘utf-8‘)) print("Sent: ",message) conn.close()
客户端进程
# cat tcp_client.py #! /bin/env python3 # -*- coding:utf-8 -*- ‘‘‘ Created on 2016年12月19日 @author: CC ‘‘‘ import socket HOST=‘127.0.0.1‘ PORT=3434 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect((HOST,PORT)) print("Connect %s:%d OK" % (HOST,PORT)) data=s.recv(1024) print("Received: ",data.decode(‘utf-8‘)) s.close()
注:大家可以试试在客户端不加decode的效果啦,如果还有其他方法,还请大家多多解惑呀
本文出自 “wujietian” 博客,谢绝转载!
以上是关于记录-第一个python3的socket编程--not 'str'的主要内容,如果未能解决你的问题,请参考以下文章