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

python-socket使用套接字(UDP)

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

python-socket使用套接字(UDP)

"""
1.创建套接字
2.使用套接字收/发数据
3.关闭套接字

使用socket模块的函数socket完成
import socket
socket.socket(AddressFamily, Type)
AddressFamily:可以选择AF_INET(用户Internet进程间通信)或者AF_UNIX(用于同一台机器进程间通信),实际工作中常用AF_INET
Type:套接字类型,可以是SOCK_STREAM(流式套接字,主要用于TCP协议)或者SOCK_DGRAM(数据报套接字,主要用户UDP协议)

"""

import socket

def main():
    #1.创建套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    #2.使用套接字收发数据
    udp_socket.sendto(b"hahhaha", ("10.58.34.27", 8888))

    #3.关闭套接字
    udp_socket.close()

if __name__ == '__main__':
    main()
"""
重点重点:接收udp数据
"""
import socket

def main():
    #1.创建套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    #2.绑定一个本地信息
    localaddr = ("", 7788)  #必须绑定自己电脑的ip和port,其他的不行
    udp_socket.bind(localaddr)
    while True:
        #3.接收数据
        recv_data = udp_socket.recvfrom(1024)   #这个变量中存储的是一个元组(接收到的数据, (发送方的ip,port))
        recv_msg = recv_data[0]     #存储接收的数据
        send_addr = recv_data[1]    #存储发送方的地址短信
        #4.打印接收到的数据
        #print(recv_data)
        print("%s:%s" %(str(send_addr), recv_msg.decode('gbk')))

    #5.关闭套接字
    udp_socket.close()

if __name__ == '__main__':
    main()
"""
发送数据的流程:
1.创建套接字
2.发送数据
3.关闭


接收数据的流程
1.创建套接字
2.绑定本地自己的ip和port
3.接收数据
4.关闭


-----使用同一个套接字进行收发数据
"""
import socket

def main():
    #1.创建一个udp套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    #2.获取对方的ip/port
    dest_ip = input("请输入对方的ip:")
    dest_port = int(input("请输入对方的port"))
    #3.从键盘获取数据
    send_data = input("请输入要发送的数据:")
    #4.可以使用套接字收发数据
    udp_socket.sendto(send_data.encode('gbk'), (dest_ip, dest_port))
    #5.接收回送过来的数据
    recv_data = udp_socket.recvfrom(1024)
    print(recv_data)
    #6.关闭套接字
    udp_socket.close()

if __name__ == '__main__':
    main()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/445065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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