[Python3] tomada de programação simples demonstração

Dividido em cliente e servidor

# O programa do servidor 
Import tomada 
IF __name__ == ' __main__ ' : # 1. Criar um soquete (socket) objetos Serv = socket.socket () # 2. Bind informações de endereço Host = socket.gethostname () Porto = 12345 Serv .bind ((host, Port)) # 3. aberta escuta serv.listen (5) # sequências de números máximo de espera, você pode esperar cinco, o sexto foi rejeitado, geralmente o padrão é 5 impressão ( " monitor está ligado , .... à espera de conexão " ) # 4. espera para conexão do cliente ao mesmo tempo 1. : Conn, endereço = serv.accept () # Retorna o objeto de conexão de soquete eo endereço endereço do cliente, uma estrutura tupla de impressão ( " conexão endereço:% s " % (str (endereço [0]))) msg = " Sou um serviço, por favor visite " conn.send (msg .encode ( ' UTF. 8 ' )) serv.close ()

Que encontrou um erro: a bytes-como objeto é necessária

A solução:
a solução é muito simples, você só precisa gastar uma função de bytes e codificação python str dois tipos de conversão (), decode () pode ser!

str pelo método de codificação () pode ser codificado, tal como especificado em bytes;
inversamente, se ler o fluxo de bytes a partir da rede ou do disco, os dados são lidos bytes. Bytes deve tornar-se str, você precisa de um método de decodificação ();

 
 
# Programa cliente

Import
soquete IF o __name__ == ' __main__ ' : Cliente = socket.socket () # 1. Crie uma conexão com o servidor e o Host = socket.gethostname () Porto = 12345 a client.connect ((Host, Port)) # recebendo menos do que 1024 palavras dados de secção MSG = client.recv (1024 ) client.close () da impressão (msg.decode ( ' UTF. 8 ' ))

 

Em seguida, abra os dois terminais pode ser testado

Acho que você gosta

Origin www.cnblogs.com/ronyjay/p/12560073.html
Recomendado
Clasificación