朋友的妈妈4_朋友的姐姐韩国电影|HD中文字幕在线播放,娃娃脸1977年经典娃娃脸1中字,韩国朋友的妈妈在线观看,以爱为营电视剧在线观看免费

EC機器人8058和8059端口使用

2025-01-22

1.  簡介

在使用中二次開發中,出現不方便使用示教器查看機器人報警問題,以及運行日志,這時候就可以使用8058以及8059端口來獲取.

端口區別

8058端口:日志類型為:Error,Warning,Info

8059端口:原始日志接口

2.  操作流程

下面是一篇關于如何操作和使用 8058 端口的文檔。

8058 端口操作流程


概述

本章節介紹如何通過網絡編程與 8058 端口進行通信。無論你使用的是哪種高級編程語言,基本步驟都是類似的。本文將以 Python 代碼為例,并解釋每一步的操作目的和實現方法。

操作步驟

1. 建立與服務器的連接


首先,我們需要創建一個 TCP 連接來連接到服務器的 8058 端口。以下是 Python 中的實現方法及其解釋:

import socket


HOST = "172.16.11.31"  # 服務器IP地址

PORT = 8058            # 服務器端口號


try:

    # 創建一個TCP/IP套接字

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    s.settimeout(2)  # 設置超時時間為2秒

    s.connect((HOST, PORT))  # 連接到服務器

    print("已連接到服務器")

except socket.error as e:

    print(f"Socket錯誤: {e}")

    exit(1)

except Exception as e:

    print(f"其他錯誤: {e}")

    exit(1)



解釋:

● 創建一個 TCP 套接字。

● 設置超時時間,避免連接過程長時間掛起。

● 嘗試連接到指定的服務器和端口,如果連接失敗,則捕獲異常并輸出錯誤信息。


2.  發送指令


一旦連接建立,就可以通過發送指令來獲取服務器上的日志信息。在此例中,我們發送兩條指令來獲取日志信息:



try:
   # 發送指令以獲取日志信息
   str1 = "Type=Info\n"
   s.send(str1.encode())  # 發送獲取類型為Info的日志指令
   time.sleep(1)  # 等待1秒
   str2 = "all\n"
   s.send(str2.encode())  # 發送獲取全部日志信息的指令


解釋:

● Type=Info\n:請求類型為 "Info" 的日志信息。(若請求輸入 Error 類型,則獲取 Error 信息;若請求輸入 Warning類型,則獲取 Error 和 Warning 類型的日志信息;若請求輸入 Info,則獲取所有類型的日志信息)

● all\n:請求獲取所有日志信息(輸入 all,輸入全部日志;輸入數字,如 10,輸出最后 10 行日志;輸入 exit,退出連接)。

● 使用 encode() 方法將字符串轉換為字節數據后發送。


3.  接收和處理數據


服務器會返回相應的日志數據,我們需要接收這些數據并進行處理:(注意:數據格式UTF-8)

timeout_count = 0

    max_timeout_count = 5  # 最大允許的超時次數


    while True:

        try:

            data = s.recv(128000)

            if not data:

                print("服務器關閉連接")

                break


            print(data.decode('utf-8', 'ignore'))

            timeout_count = 0  # 重置超時計數器

        except socket.timeout:

            timeout_count += 1

            print(f"接收數據超時 ({timeout_count}/{max_timeout_count})")

            if timeout_count >= max_timeout_count:

                print("超時次數過多,關閉連接")

                break

        except socket.error as e:

            print(f"Socket錯誤: {e}")

            break

        except Exception as e:

            print(f"拋出異常: {e}")

            break


解釋:

● 使用 recv() 方法接收數據。此方法一次最多接收 128000 字節的數據。

● 如果接收到的數據為空,則說明服務器關閉了連接。

● 將接收到的字節數據解碼為字符串并打印出來。

● 處理接收過程中可能出現的各種異常。


4. 關閉連接

操作完成后,關閉與服務器的連接:


finally:
   s.close()
   print("連接已關閉")


解釋:


● 無論操作是否成功,最終都需要關閉套接字連接,以釋放系統資源。


python全部代碼


import socket

import time


HOST = "172.16.11.31"

PORT = 8058


try:

        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)               

    s.settimeout(2)

    s.connect((HOST, PORT))

    print("已連接到服務器")

except socket.error as e:

    print(f"Socket錯誤: {e}")

    exit(1)

except Exception as e:

    print(f"其他錯誤: {e}")

    exit(1)


try:

    str1 = "Type=Info\n"

    s.send(str1.encode())

    time.sleep(1)

    str2 = "all\n"

    s.send(str2.encode())


    timeout_count = 0

    max_timeout_count = 5  # 最大允許的超時次數


    while True:

        try:

            data = s.recv(128000)

            if not data:

                print("服務器關閉連接")

                break


            print(data.decode('utf-8', 'ignore'))

            timeout_count = 0  # 重置超時計數器

        except socket.timeout:

            timeout_count += 1

  print(f"接收數據超時 ({timeout_count}/{max_timeout_count})")

            if timeout_count >= max_timeout_count:

                print("超時次數過多,關閉連接")

                break

        except socket.error as e:

            print(f"Socket錯誤: {e}")

            break

        except Exception as e:

            print(f"拋出異常: {e}")

            break

finally:

    s.close()

    print("連接已關閉")



總結

通過本文檔的步驟和示例代碼,你可以使用任何高級編程語言與服務器的 8058 端口進行通信。關鍵步驟包括:

1.  建立 TCP 連接。

2.  發送指令請求。

3.  接收并處理服務器返回的數據。

4.  關閉連接。

如果在操作過程中遇到任何問題,請檢查網絡連接、服務器狀態,以及確保你的編解碼方式與服務器一致。

8059端口操作流程

概述

本章節詳細說明了如何通過 8059 端口與服務器通信,獲取原始日志。用戶可以通過發送不同的命令來獲取全部日志、指定行數的日志或退出連接。示例代碼使用 Python 編寫.

通信流程

1.  建立連接:通過 TCP 協議連接到指定服務器和端口。

2.  發送請求:發送請求字符串以獲取日志。

3.  接收數據:接收服務器返回的日志數據并保存到文件。

4.  關閉連接:完成操作后關閉連接。

操作說明

● 獲取全部日志:連接后,輸入 all,服務器會返回全部日志。

● 獲取指定行數日志:連接后,輸入數字,如 10,服務器會返回最后 10 行日志。

● 退出連接:連接后,輸入 exit,斷開與服務器的連接。

Python 示例代碼


import socket


HOST = "192.168.1.205"

PORT = 8059


try:

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    s.settimeout(2)

    s.connect((HOST, PORT))

    print("已連接到服務器")

except socket.error as e:

    print(f"Socket錯誤: {e}")

    exit(1)

except Exception as e:

    print(f"其他錯誤: {e}")

    exit(1)


try:

    # 新建文件或清空文件內容

    with open(r'D:\205\log\err_log_1.md', 'w') as file:

        file.close()


    # 獲取最近10條日志條目

    str1 = "10\n"

    s.send(str1.encode())


    while True:

        try:

            data = s.recv(1024)

            if not data:

                print("服務器關閉連接")

                break


            with open(r'D:\205\log\err_log_1.md', 'a+') as f:

                f.write(data.decode('utf-8'))

            print(data.decode('utf-8'))

        except socket.timeout:

            print("接收數據超時")

            break

        except socket.error as e:

            print(f"Socket錯誤: {e}")

            break

        except Exception as e:

            print(f"拋出異常: {e}")

            break

finally:

    s.close()

    print("連接已關閉")




注意事項

1.  網絡連接穩定性:

a.  確保網絡連接穩定,避免由于網絡波動導致的連接中斷或數據丟失。

2.  超時處理:

a.  設置合理的超時時間,防止程序長時間等待而掛起。

3.  錯誤處理:

a.  在連接、發送和接收數據時,做好異常處理,并記錄錯誤日志。

4.  數據完整性:

a.  在發送和接收數據時,確保數據的完整性和正確性。必要時進行數據校驗。

5.  資源管理:

a.  在程序結束或出現異常時,確保關閉所有打開的連接和文件,以釋放系統資源。

6.  安全性:

a.  避免發送敏感信息,或使用加密方法保護數據傳輸的安全性。

7.  日志記錄:

a.  在操作過程中記錄關鍵日志,以便在出現問題時能夠追蹤和排查。




download-669.svg comicon14.svg

電話咨詢

download-397.svg comicon15.svg

免費試用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

準備好突破增長瓶頸,開啟智能制造了嗎?
了解我們的機器人如何幫助您的業務增長
歡迎下載艾利特機器人資料

我已閱讀并同意艾利特《隱私政策》《法律聲明》

我已知曉并同意艾利特通過電子郵件發送相關資料

提交