1. 程式人生 > >最簡伺服器&客戶端!Python3 Websockets 嵌入式開發初體驗

最簡伺服器&客戶端!Python3 Websockets 嵌入式開發初體驗

前言

    本文主要介紹了通過Python3 的 Websockets模組來建立最簡單的伺服器/客戶端連線通訊的方法。此方法適用於嵌入式開發者對Python3 Websockets模組快速上手,瞭解相關原理後,即可讓兩裝置進行資料通訊。

    本文參考資料:http://websockets.readthedocs.io/en/stable/intro.html

執行環境

    Ubuntu 18.04

    Vmware 12 Pro

    Python 3.6.5(不能低於 Python 3.4)

伺服器 Server

    程式碼:

#!/usr/bin/python3

import websockets
import asyncio

async def hello(websocket,path):
		name = await websocket.recv()
		print(f"A new client : {name}")
		greeting = "Welcome " + name
		await websocket.send(greeting)
		print(f"send '{greeting}' to '{name}'")
		
start_server = websockets.serve(hello,'localhost',8765)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()

客戶端 Client

    程式碼:

#!/usr/bin/python3

import websockets
import asyncio

async def hello():
	async with websockets.connect('ws://localhost:8765') as websocket:
		name = input("what's your name?")
		await websocket.send(name)
		print(f"send server:{name}")
		greeting = await websocket.recv()
		print(f"receive from server:{greeting}")
asyncio.get_event_loop().run_until_complete(hello())

實際執行情況

    首先,執行伺服器執行檔案 test_websocket_server.py;

    然後,在另一終端執行客戶端檔案 test_websocket_client.py,並鍵盤輸入名字 Chile 並按回車(可隨意輸入);

    接著,伺服器會收到客戶端輸入的名字 Chile,客戶端也會收到伺服器回覆的資訊;

    最後,客戶端會關閉websocket連線,伺服器會繼續等待下一客戶端進行連線。

    

相關推薦

伺服器&客戶Python3 Websockets 嵌入式開發體驗

前言    本文主要介紹了通過Python3 的 Websockets模組來建立最簡單的伺服器/客戶端連線通訊的方法。此方法適用於嵌入式開發者對Python3 Websockets模組快速上手,瞭解相關原理後,即可讓兩裝置進行資料通訊。    本文參考資料:http://we

RTSP客戶程式設計

    為了更加清晰的瞭解RTSP協議,本文設計了一個最簡的RTSP客戶端程式,該程式向RTSP 依次傳送OPTIONS, DESCRIBE, SETUP, PLAY , TEARDOWN請求,以檢視服務端返回的資料。同時建立RTP和RTCP 通訊,接收一包RTP和一包RTC

Android客戶-寒假實習面經-實習體驗

Android客戶端-寒假實習面經-實習初體驗 一.絮絮叨叨的一些話 好久沒有寫部落格了,前段時間一直在忙實習的事,耽擱了一陣子,現在忙的差不多了,所以打算在實習期間抽些,繼續寫寫部落格,為明年的春招和秋招做好知識儲備。加深技能棧,在這之前,現回顧一下我大概兩週的面試和實習經歷。

Windows 下的簡單的TCP伺服器客戶

{        // 建立套接字        mServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);        if (mServerSocket == INVALID_SOCKET)        {            std::cou

【Java】基於TCP協議多執行緒伺服器-客戶互動控制檯聊天室

      前兩天想到一個手機APP專案,使用到藍芽,發現BluetoothSocket和J2EE網路變成的Socket差不多,使用之餘順手寫一個多執行緒伺服器與客戶端互動實現聊天室的一個小例子,方便新人學習網路程式設計模組,期間使用到多執行緒和IO輸入輸出流的

Oracle_plsql_開發工具搭建小化客戶

AD 9.png 客戶 href ack nec 使用 list back 一:資源下載獲取路徑:二:配置方法1:前提是安裝好plsql開發工具具體安裝步驟略2:配置 簡化版的客戶端工具。具體格式:可以參照下文來修改編寫使用。orcl_1521 = (DESCRIPTIO

socket程式設計readline函式實現回射伺服器/客戶

為了解決粘包問題,reanline函式使用recv函式進行窺探,不清除內容 #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/

SuperSocket 搭建伺服器+客戶+打包工具

本文基於網上的一篇文章自己做了 實踐,在此只作為記錄用 伺服器搭建 通過Nuget 匯入SuperSocket.Engine 通過Nuget 匯入GoogleProtoBuffer 建立基於protobuf協議的protocol檔案

TCP 伺服器/客戶(實現下載)

TCP/IP :       TCP/IP:在網路通訊中,TCP/IP是主流協議()       應用層:使用者自定義的協議(HTTP,EMAIL,),用於使用者之間資料的傳送      &nbs

UDP 伺服器/客戶

UDP:面向無連線,不安全,不可靠的,沒有狀態的傳輸協議          資料報:報文傳輸(目的方要麼整個報文收,要麼都不收到)          網路位元組序:網路採用統一的位元組順序 &nb

Linux安裝部署ftp 服務(建立使用者、更改大的客戶數量)

前提:我這裡所有的安裝都是用dockercompose安裝的,因為這樣安裝比較簡單管理方便,用過的都知道。 mkdir:建立一個新的目錄 如果沒有vim命令則安裝Vim命令如下: #yum -y install vim* 新建ftp/docker-compose.yml

ngrok 伺服器 客戶的安裝,使用(包含二級域名的配置)

服務端的安裝 條件: 需要一臺公網伺服器 1.在伺服器上安裝go的環境變數 wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz --no-check-certificate tar zxv

BootStrap 表格分頁(伺服器客戶

伺服器分頁表格  function InitMainTable1 () { //記錄頁面bootstrap-table全域性變數$table,方便應用 var queryUrl = "/XServer/user.do?_

TCP 伺服器/客戶

TCP/IP :       TCP/IP:在網路通訊中,TCP/IP是主流協議()       應用層:使用者自定義的協議(HTTP,EMAIL,),用於使用者之間資料的傳送       傳輸層:(傳輸控制:TCP,UDP)負責點對點之間連線建立,傳輸控制協議的指定() 

hive 伺服器客戶 理解

在hive的分散式安裝中,網上對於客戶端和伺服器的理解感覺並沒有很清晰。接下來將簡單說一下個人理解,如果有錯,請各位大佬儘管指出,只是一種學習討論罷了。 第一,在安裝hive的各個節點(包括master和slave)上,對應的配置檔案/conf/hive-site.xml中,都有下面這樣一個配置

Python socket構建簡單的伺服器客戶互動

client.py #coding:utf-8 import socket import random print("程式開始") # 建立套接字 mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #

win10 uwp 使用 asp dotnet core 做圖床伺服器客戶

本文告訴大家如何在 UWP 做客戶端和 asp dotnet core 做伺服器端來做一個圖床工具 伺服器端 從 win10 uwp 手把手教你使用 asp dotnet core 做 cs 程式 可以瞭解一個簡單的 asp dotnet core 程式是如

win8.1或者win10使用新版shadowsocks客戶出現SOCKS protocol error及此實現不是 Windows 平臺 FIPS 驗證的加密演算法的一部分

shadowsocks客戶端出現SOCKS protocol error 及此實現不是 Windows 平臺 FIPS 驗證的加密演算法的一部分 最近使用一鍵安裝shadowsocks的時候,發

select 伺服器 客戶 縮水版本

    tcpserver.c int main(int argc, char**argv) { int listenfd = socket(AF_INET,SOCK_STREAM,0); struct sockaddr_in serv_addr,

web專案-檔案下載(檔案伺服器-應用伺服器-客戶

檔案的下載一直都是web專案中的常用功能,但是在我們公司專案中,專案上線後單下載功能方面都可以簡單易懂的說分為三個部分,即檔案伺服器、應用伺服器和客戶端,而我們在上傳的時候都是將上傳儲存到檔案伺服器(也可以俗稱網路伺服器),而在資料庫中儲存的只是檔案在檔案伺服器上的地址,類