python socket之udp

37 篇文章 2 订阅

python socket 之 udp

#!/usr/bin/env python3
# -*- coding: utf-8 -*-


import socket



def socket_send(socket_send):
    ip_add = input("server ip is: ").strip()
    ip_port = int(input("sever port is: ").strip())
    send_data = input("please send data: ")
    socket_send.sendto(send_data.encode("utf-8"), (ip_add, ip_port))


def socket_receive(socket_receive):
    recv_data = socket_receive.recvfrom(1024)
    recv_mesg = recv_data[0]
    recv_addr = recv_data[1]

    print("%s" % str(recv_addr))
    print("%s" % recv_mesg.decode("utf-8"))


def main():
    try:
        socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        local_addr_port = ("", 8081)
        socket_udp.bind(local_addr_port)
        
    while True:
        print("---------聊天器----------")

        socket_receive(socket_udp)

        socket_send(socket_udp)


except Exception as result:
    print("unknown error: %s" % result)
finally:
    socket_udp.close()


if __name__ == "__main__":
    main()

client端

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import socket

def socket_send(socket_send):
ip_add = input("server ip is: ").strip()
ip_port = int(input("sever port is: ").strip())
send_data = input("please send data: ")
socket_send.sendto(send_data.encode(“utf-8”), (ip_add, ip_port))

def socket_receive(socket_receive):
recv_data = socket_receive.recvfrom(1024)

recv_mesg = recv_data[0]
recv_addr = recv_data[1]

print("%s" % str(recv_addr))
print("%s" % recv_mesg.decode("utf-8"))

def main():
try:
socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
local_addr_port = ("", 8080)
socket_udp.bind(local_addr_port)

    while True:
        print("---------聊天器----------")


        socket_send(socket_udp)

        socket_receive(socket_udp)


except Exception as result:
    print("unknown error: %s" % result)
finally:
    socket_udp.close()


if __name__ == "__main__":
    main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

项目工程师余工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值