python|基于两个py文件的udp通信(含实例源码)

本博文源于socket编程,主要针对python的两个文件建立udp通信。

实验效果

客户端输入:我是客户端哦!
服务器收到并作为回声
python|基于两个py文件的udp通信(含实例源码)_第1张图片
服务器端:
收到来自客户端的消息,并给予同样的回应!
python|基于两个py文件的udp通信(含实例源码)_第2张图片

实验原理

用socket建立基于UDP协议的服务器流程步骤

s = socket() # 建立套接字
s.bind() # 绑定本机地址
s.recvfrom()或s.sendto() # 接受数据或发送数据
s.close() # 关闭套接字

用socket建立基于UDP协议的服务器流程

s = socket() # 建立套接字
s.recvfrom()或s.sendto() # 接收数据或发送数据
s.close() # 关闭套接字

根据这些步骤编出如下代码:

实验代码

服务器端等待连接
server.py

# udp 服务器端
import socket

HOST = ''
PORT = 10888
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind((HOST, PORT))
data = True
while data:
    data,address = s.recvfrom(2048)
    if data == b'bye':
        break
    print('Received String:',data.decode('utf-8'))
    s.sendto(data,address)
s.close()

客户端主动连接
client.py

import socket

HOST = 'localhost'
PORT = 10888
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
data = '你好!'
while data:
    s.sendto(data.encode('utf-8'),(HOST,PORT))
    if data == 'bye':
        break
    data, addr = s.recvfrom(512)
    print('Recv from server:\n',data.decode('utf-8'))
    data = input('Please input a info:\n')
s.close()

你可能感兴趣的:(python尝试,socket,udp,python,网络通信)