的Python:如何通过2 RPI创建简单的聊天使用Ubuntu伴侣
问题描述:
我想开始2 RPI3之间聊天,正好上 https://www.raspberrypi.org/learning/networking-lessons/lesson-1/worksheet/的Python:如何通过2 RPI创建简单的聊天使用Ubuntu伴侣
- 如图两个设备具有独特的IP和successfuly平彼此。
- 两台设备运行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()