Python:如何使用ubuntum在2rpi上创建简单的聊天

2024-05-17 15:24:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试着在两个RPI3之间开始聊天,如图所示 https://www.raspberrypi.org/learning/networking-lessons/lesson-1/worksheet/

  1. 两个设备都有唯一的IP,并成功地ping对方
  2. 两个设备都成功运行chat.py(一个作为服务器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)

Tags: pyhttpsimportinputwwwsyschatnetwork
1条回答
网友
1楼 · 发布于 2024-05-17 15:24:14

服务器文件:

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()

相关问题 更多 >