之前我在电脑上利用socket进行两个程序之间的通信,这次我们还是利用同样的程序来进行树莓派和电脑之间的通信
先看下程序,程序的具体解析可以看我上一个博客
这次唯一的区别就是HOST改为192.168什么的,自己在dos界面敲一下ipconfig查看一下IP地址然后填进去
server端:
import socket import time HOST = '192.168.199.131' PORT = 8001 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind((HOST, PORT)) sock.listen(5) while True: connection,address = sock.accept() try: connection.settimeout(10) buf = connection.recv(1024) if buf: connection.send(b'welcome to server!') print('Connection success!') else: connection.send(b'please go out!') except socket.timeout: print ('time out') connection.close()client端:
import socket import time HOST = '192.168.199.131' PORT = 8002 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((HOST, PORT)) time.sleep(2) sock.send(b'1') print (sock.recv(1024).decode()) sock.close()
接着在dos界面运行server.py,在树莓派中运行client.py
注意在树莓派中得用python3指令,因为树莓派既有python2也有python3
dos界面:
树莓派:
如果我们想要在树莓派运行server端电脑上运行client端,让树莓派来作为服务器接收用户数据的话,我们就可以在树莓派上ifconfig一下查看一下它的地址,并将两个程序的IP地址都改为它,接着先运行树莓派上的server后运行电脑上的client就行了
如果你又想实现UDP传输的话,可以将我上一个博客的UDP代码拷过来修改下试试,因为具体我还没有试过嘿嘿