就业DAY1_网络编程

知名端口 0-1023 

动态端口 1024-65535

import socket


def main():
    # 创建一个udp套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    while True:
        # 从键盘获取数据
        send_data = input("请输入传递的信息")
        if send_data == "exit":
            break
        # 可以使用套接字收发数据
        # udp_socket.sendto(b"haha",("10.6.25.79", 8080))
        udp_socket.sendto(send_data.encode("utf-8"), ("10.6.25.79", 8080))
    # udp_socket.sendto()
    # 关闭套接字
    udp_socket.close()
    print("run")


if __name__ == "__main__":
        main()

 

 

import socket
# from socket import *


def main():
    # 1 创建套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 2 绑定一个本地信息
    localaddr = ("", 7788)
    udp_socket.bind(localaddr)  # 必须绑定自己电脑的ip 以及port 其他不行
    while True:
        # 3 接收数据
        recv_data = udp_socket.recvfrom(1024)
        # recv_data 这个变量中存储的是一个元组(接收到的数据,(发送方的IP,端口))
        recv_message = recv_data[0]  # 存储接收的数据
        send_address = recv_data[1]  # 存储发送方的地址信息
        # 4 打印接收数据
        # print(recv_data)
        print("%s;%s" % (str(send_address), recv_message.decode("gbk")))
    # 5 关闭套接字
    udp_socket.close()


if __name__ == '__main__':
    main()

 

 

 

 套接字是全双工

posted @ 2019-08-31 11:12  才华配得上梦想  阅读(118)  评论(0编辑  收藏  举报