栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 的UDP通讯例子

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 的UDP通讯例子

udp 通讯包含一个服务端和一个客户端。本文介绍2个python 程序,一个客户端udpclient.py,一个服务端 udpserver.py ,然后介绍通讯测试。

udpserver.py 代码:

# -*- coding: utf-8 -*-
"""
Created on Tue Oct 12 17:08:53 2021

@author: zeng_
"""

import socket

 

localIP     = "127.0.0.1"

localPort   = 20001

bufferSize  = 1024

 

msgFromServer       = "Hello UDP Client"

bytesToSend         = str.encode(msgFromServer)

 

# Create a datagram socket

UDPServerSocket = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM)

 

# Bind to address and ip

UDPServerSocket.bind((localIP, localPort))

 

print("UDP server up and listening")

# Listen for incoming datagrams

while(True):

    bytesAddressPair = UDPServerSocket.recvfrom(bufferSize)

    message = bytesAddressPair[0]

    address = bytesAddressPair[1]

    clientMsg = "Message from Client:{}".format(message)
    clientIP  = "Client IP Address:{}".format(address)
    
    print(clientMsg)
    print(clientIP)

   

    # Sending a reply to client

    UDPServerSocket.sendto(bytesToSend, address)

udpClient.py 代码:

# -*- coding: utf-8 -*-
"""
Created on Tue Oct 12 17:12:00 2021

@author: zeng_
"""

import socket

 

msgFromClient       = "Hello UDP Server"

bytesToSend         = str.encode(msgFromClient)

serverAddressPort   = ("127.0.0.1", 20001)

bufferSize          = 1024

 

# Create a UDP socket at client side

UDPClientSocket = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM)

 

# Send to server using created UDP socket

UDPClientSocket.sendto(bytesToSend, serverAddressPort)

 

msgFromServer = UDPClientSocket.recvfrom(bufferSize)

 

msg = "Message from Server {}".format(msgFromServer[0])

print(msg)

通讯测试,就在本机做测试。我是在spyder 环境下实现的。但是spyder 运行一个实例就不能运行第二个。其实很简单,在菜单Console -> New Console 就可以打开新的console ,运行新的实例。

python - How to open second spyder console when running it as admin? - Stack Overflow 介绍了这个方法。

服务端终端显示如下:

runfile('D:/apython/udp/udpServer.py', wdir='D:/apython/udp')
UDP server up and listening
Message from Client:b'Hello UDP Server'
Client IP Address:('127.0.0.1', 59031)

客户端终端显示如下:

runfile('D:/apython/udp/udpclient.py', wdir='D:/apython/udp')
Message from Server b'Hello UDP Client'

原始的python 代码来自:UDP - Client and Server example programs in Python | Pythontic.com

介绍完毕。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/321969.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号