樹莓派與PC端在局域網內運用python實現即時通訊

 更新時間:2019年06月22日 13:47:10   作者:XC2439   我要評論
這篇文章主要為大家詳細介紹了樹莓派與PC端在局域網內運用python實現即時通訊,具有一定的參考價值,感興趣的小伙伴們可以參考一下

電腦和樹莓派在同一局域網內,先在電腦和樹莓派創建python運行環境,然后在樹莓派中用python運行rpi.py;在電腦上運行computer.py;電腦上輸入字符即可在樹莓派上即時顯示!

rpi.py

#coding:utf-8
#import necessary package
import socket
import time
import sys


HOST_IP = "192.168.31.151" #樹莓派的IP地址
HOST_PORT = 8888
print("Starting socket: TCP...")
#1.create socket object:socket=socket.socket(family,type)
socket_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print("TCP server listen @ %s:%d!" %(HOST_IP, HOST_PORT) )
host_addr = (HOST_IP, HOST_PORT)
#2.bind socket to addr:socket.bind(address)
socket_tcp.bind(host_addr)
#3.listen connection request:socket.listen(backlog)
socket_tcp.listen(1)
#4.waite for client:connection,address=socket.accept()
socket_con, (client_ip, client_port) = socket_tcp.accept()
print("Connection accepted from %s." %client_ip)
socket_con.send("Welcome to RPi TCP server!")

print("Receiving package...")

###主循環
while True:
 try:
  data=socket_con.recv(512)
  if len(data)>0:
   print("Received:%s"%data)
   socket_con.send(data)
   time.sleep(1)
   continue
 except Exception:
   socket_tcp.close()
   sys.exit(1)

computer.py

import socket
import time
import sys

SERVER_IP = "192.168.31.151" #樹莓派的IP地址
SERVER_PORT = 8888

print("Starting socket: TCP...")
server_addr = (SERVER_IP, SERVER_PORT)
socket_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

while True:
 try:
  print("Connecting to server @ %s:%d..." %(SERVER_IP, SERVER_PORT))
  socket_tcp.connect(server_addr)
  break
 except Exception:
  print("Can't connect to server,try it latter!")
  time.sleep(1)
  continue
print("Please input:")
while True:
 try:
  data = socket_tcp.recv(512)
  if len(data)>0:
   print("Received: %s" % data)
   command=raw_input()
   socket_tcp.send(command)
   time.sleep(1)
   continue
 except Exception:
  socket_tcp.close()
  socket_tcp=None
  sys.exit(1)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python 專題一 函數的基礎知識

    Python 專題一 函數的基礎知識

    本文從系統提供的內部函數、第三方提供函數庫+簡單爬出代碼及安裝httplib2模塊過程和用戶自定函數三個方面進行講述。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • pycharm 使用心得(八)如何調用另一文件中的函數

    pycharm 使用心得(八)如何調用另一文件中的函數

    事件環境: pycharm 編寫了函數do() 保存在make.py 如何在另一個file里調用do函數?
    2014-06-06
  • Tensorflow使用tfrecord輸入數據格式

    Tensorflow使用tfrecord輸入數據格式

    這篇文章主要介紹了Tensorflow使用tfrecord輸入數據格式,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • python射線法判斷一個點在圖形區域內外

    python射線法判斷一個點在圖形區域內外

    這篇文章主要為大家詳細介紹了python射線法判斷一個點在圖形區域內外,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python算術運算符實例詳解

    Python算術運算符實例詳解

    這篇文章主要介紹了Python算術運算符實例詳解的相關資料,需要的朋友可以參考下
    2017-05-05
  • python numpy函數中的linspace創建等差數列詳解

    python numpy函數中的linspace創建等差數列詳解

    numpy.linspace是用于創建一個一維數組,并且是等差數列構成的一維數組,下面這篇文章主要給大家介紹了關于python numpy函數中的linspace創建等差數列的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-10-10
  • python采用django框架實現支付寶即時到帳接口

    python采用django框架實現支付寶即時到帳接口

    這篇文章主要介紹了python采用django框架實現支付寶即時到帳接口的相關資料,需要的朋友可以參考下
    2016-05-05
  • python分割文件的常用方法

    python分割文件的常用方法

    這篇文章主要介紹了python分割文件的常用方法,包括指定分割大小、按行分割與分割合并等技巧,非常實用,需要的朋友可以參考下
    2014-11-11
  • Python同步遍歷多個列表的示例

    Python同步遍歷多個列表的示例

    今天小編就為大家分享一篇Python同步遍歷多個列表的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python實現車牌識別的示例代碼

    python實現車牌識別的示例代碼

    這篇文章主要介紹了python實現車牌識別的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08

最新評論

湖北11选5走势图爱彩乐