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()
  • 相关阅读:
    用graphviz,pygraphviz快速自动绘图
    python 实现的huffman 编码压缩,解码解压缩
    python 字符串的显示
    PKU acm 1651 multiplication puzzle
    SQL Server中的数据类型详解
    (转) treeview 的设计思路
    将英文的week 转换为中文的 简单的方法
    常用的文件对应的MIME类型:
    客户端传参问题
    绑定数据与截取的另外的一中写法
  • 原文地址:https://www.cnblogs.com/pcjbk/p/11441886.html
Copyright © 2011-2022 走看看