欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【TCP/IP网络编程实验】之【python实现客户端给服务器发送小写字母,服务器返回大写字母(UDP)】

程序员文章站 2024-03-17 18:41:46
...

实验要求

【TCP/IP网络编程实验】之【python实现客户端给服务器发送小写字母,服务器返回大写字母(UDP)】

实验代码及结果

S

import socket

# 本机IP和开放端口
host_port = ('127.0.0.1', 8888)
# 最大传输字节
data_size = 1024
# 编解码格式
data_type = 'utf-8'
# 最大连接数
connect_max = 5


def create_server():
    try:
        # 创建socket对象
        server = socket.socket(
            socket.AF_INET, socket.SOCK_DGRAM  # UDP
        )
        # 绑定主机IP与端口
        server.bind(host_port)
        while True:
            # data为接收数据,add为发送者地址
            receiver_data, add = server.recvfrom(data_size)
            receiver_data = receiver_data.decode(data_type)
            print('接收到来自{}的内容:{}'.format(add, receiver_data))
            # 将字母全部转为大写
            send_data = receiver_data.upper()
            # 发送给客户端
            server.sendto(send_data.encode(data_type), add)
            print('已发送给{}内容:{}'.format(add, send_data))
    except Exception as e:
        print(e)


create_server()

S

import socket

# 服务器IP和开放端口
server_host_port = ('127.0.0.1', 8888)
# 本地IP和开放端口
client_host_port = ('127.0.0.1', 8889)
# 最大传输字节
data_size = 1024
# 编解码格式
data_type = 'utf-8'


def create_client():
    client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    client.bind(client_host_port)
    try:
        while True:
            send_data = input('请输入要发送的字符:')
            # 发送内容
            client.sendto(send_data.encode(data_type), server_host_port)
            # 接收内容
            receive_data, add = client.recvfrom(data_size)
            print('接收到来自{}的消息:{}'.format(add, receive_data.decode(data_type)))
    except Exception as e:
        print(e)


create_client()

实验结果:
C:
【TCP/IP网络编程实验】之【python实现客户端给服务器发送小写字母,服务器返回大写字母(UDP)】
S:
【TCP/IP网络编程实验】之【python实现客户端给服务器发送小写字母,服务器返回大写字母(UDP)】