UDP経由でADIFを受信する

投稿者: | 2021-11-19

各局皆様、こんにちは。アマチュア無線局、JS2IIUです。

JTAlertがUDPで吐き出すADIFを使って遊んでみたいと思い、まずは受信だけするプログラムを作ってみました。受信したらコンソールに吐き出すだけのPythonプログラムです。

# -*- coding: utf-8 -*-
# UDPの受信テストプログラム
# 受信したらコンソールに表示する

# JTAlert のUDP出力は交信成立したタイミングでADIFが出てくる

from socket import *


class udprecv():
    def __init__(self):

        SrcIP = '127.0.0.1'     # source IP
        SrcPort = 2333
        self.SrcAddr = (SrcIP, SrcPort)

        self.BUFSIZE = 1024
        self.udpServSock = socket(AF_INET, SOCK_DGRAM)  # socket
        self.udpServSock.bind(self.SrcAddr)

    def recv(self):
        while True:

            data, addr = self.udpServSock.recvfrom(self.BUFSIZE)
            print(data.decode(), addr)

            # data.decode()が受信内容をデコードしたもの


udp = udprecv()         # call class
udp.recv()              # receiving UDP data

最後まで読んでいただきありがとうございます。

UDP経由でADIFを受信する」への1件のフィードバック

  1. JS2IIU 投稿作成者

    先日、UDPで受信したメッセージがデコードされていなくて困っているとのメッセージをいただきました。本ページのサンプルプログラムのまま実行していただければデコードされます。
    25行目にあるようにdeta.decode()とすればデコードされた状態になります。

    返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です