的Python:如何通过2 RPI创建简单的聊天使用Ubuntu伴侣

问题描述:

我想开始2 RPI3之间聊天,正好 https://www.raspberrypi.org/learning/networking-lessons/lesson-1/worksheet/的Python:如何通过2 RPI创建简单的聊天使用Ubuntu伴侣

  1. 如图两个设备具有独特的IP和successfuly平彼此。
  2. 两台设备运行chat.py successfuly(一个作为服务器chat.py和客户端chat.py 192.168.0.2

但文本输入的每个终端上不走通。

任何想法,为什么?

这里是chat.py代码:

import network 
import sys 

def heard(phrase): 
    print("them:" + phrase) 

if (len(sys.argv) >= 2): 
    network.call(sys.argv[1], whenHearCall=heard) 
else: 
    network.wait(whenHearCall=heard) 

while network.isConnected(): 
    #phrase = raw_input() #python2 
    phrase = input() # python3 
    print("me:" + phrase) 
    network.say(phrase) 

服务器文件:

import socket 

def Main(): 
host = "127.0.0.1" 
port = 5000 

mySocket = socket.socket() 
mySocket.bind((host,port)) 
mySocket.listen(2) 
conn, addr = mySocket.accept() 
print ("Connection from: " + str(addr)) 
varz=["var1","var2","var3"] 
while True: 
     data = conn.recv(1024).decode() 
     if data in varz[0] : 
      print("YES!") 
     print(data.split(' ')) 
     if not data: 
       break 
     print ("from connected user: " + str(data)) 

     data = str(data[0:2]).upper() 
     print ("sending: " + str(data)) 
     conn.send(data.encode()) 

conn.close() 

if __name__ == '__main__': 
    Main() 

客户端文件:

import socket 

def Main(): 
    host = '127.0.0.1' 
    port = 0 


    mySocket = socket.socket() 
    mySocket.connect((host,5000)) 
    user1=input("type usename:") 
    message = input("%s: "%user1) 

    while message != 'q': 
      mySocket.send(message.encode()) 
      data = mySocket.recv(1024).decode() 

      print ('Received from server: ' + data) 

      message = input("%s: "%user1) 

    mySocket.close() 

    if __name__ == '__main__': 
    Main()