zoukankan      html  css  js  c++  java
  • 多线程的UDP聊天器

    # pcj
    import socket
    import threading
    # def recv_msg(udp_socket):
    # while True:
    # recv_date = udp_socket.recvfrom(1024)
    # print(recv_date[0].decode("gbk"),recv_date[1])
    #
    # def send_msg(udp_socket,dest_ip,dest_port):
    # while True:
    # send_date = input("请输入要发送的信息")
    # udp_socket.sendto(send_date.encode("gbk"),(dest_ip,dest_port))
    #
    #
    # def main():
    # # 创建UPD套接字
    # udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    # # 邦定本地信息
    # udp_socket.bind(("",9999))
    # dest_ip = input("请输入对方IP")
    # dest_port = int(input("请输入PORT"))
    # #接收信息
    # t_recv=threading.Thread(target=recv_msg,args=(udp_socket,))
    # t_send =threading.Thread(target=send_msg,args=(udp_socket,dest_ip,dest_port))
    # t_recv.start()
    #
    # #发送信息
    # t_send.start()
    #0--------再写一次
    def send_msg(udp_socket,dest_ip,dest_port):
    while True:
    send_date = input("请输入要发送的信息")
    udp_socket.sendto(send_date.encode("gbk"), (dest_ip, dest_port))

    def recv_msg(udp_socket):
    while True:
    recv_date = udp_socket.recvfrom(1024)
    print(recv_date[0].decode("gbk"))
    def main():
    # 创建套接字
    udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

    udp_socket.bind(("",9999))
    dest_ip = input("请输入IP")
    dest_port = int(input("请输入PORT"))
    t_send = threading.Thread(target=send_msg, args=(udp_socket,dest_ip,dest_port))
    t_recv = threading.Thread(target=recv_msg, args=(udp_socket,))
    # 发送信息
    t_send.start()

    # 接收信息
    t_recv.start()



    if __name__ == '__main__':
    main()
  • 相关阅读:
    P3383 【模板】线性筛素数
    POJ2431-Expedition【优先队列+贪心】
    HDU1087
    HDU1029
    最小生成树之Kruskal算法
    AC自动机模板
    328闯关解析
    php可获取客户端信息
    $( ).focus()与$( )[0].focus()区别
    RegExp类型和text()方法
  • 原文地址:https://www.cnblogs.com/pcjbk/p/11441886.html
Copyright © 2011-2022 走看看