• python网络编程 之udp通信


    #encoding=utf-8
    # ss = socket() # 创建一个服务器套接字
    # ss.bind() # 绑定服务器套接字
    # inf_loop: # 服务器无限循环
    # cs = ss.recvfrom()/ss.sendto() # 对话(接收与发送)
    # ss.close() # 关闭服务器套接字
    
    # 创建一个能接收客户的消息,在消息前加一个时间戳后返回的 UDP 服务器
    from socket import *
    from time import ctime
    
    host = ''
    port = 21567
    bufsiz = 1024
    addr = (host,port)
    
    udpServerSock = socket(AF_INET,SOCK_DGRAM)
    udpServerSock.bind(addr)
    
    
    while True:
        print 'waiting for message'
        data,addr2 = udpServerSock.recvfrom(bufsiz)
    #     s.recvfrom(bufsize[.flag])
    # 接受UDP套接字的数据。与recv()类似,但返回值是(data,address)。
    # 其中data是包含接收数据的字符串,address是发送数据的套接字地址。
        print 'received from ',addr2
        udpServerSock.sendto('[%s] %s' % (ctime(),data),addr2)
    # s.sendto(string[,flag],address)
    # 发送UDP数据。将数据发送到套接字,
    # address是形式为(ipaddr,port)的元组,指定远程地址。返回值是发送的字节数。
        print 'send to ',addr2
    
    udpServerSock.close()

    cs = socket() # 创建客户套接字
    comm_loop: # 通讯循环
    cs.sendto()/cs.recvfrom() # 对话(发送/接收)
    cs.close() # 关闭客户套接字

     

    #encoding=utf-8
    # cs = socket() # 创建客户套接字
    # comm_loop: # 通讯循环
    # cs.sendto()/cs.recvfrom() # 对话(发送/接收)
    # cs.close() # 关闭客户套接字
    
    # 创建一个 UDP 客户端,程序会提示用户输入要传给服务器的信息,显示服务器返回的加了时间
    # 戳的结果。
    from socket import *
    
    host = 'localhost'
    port = 21567
    bufsiz = 1024
    addr = (host,port)
    
    udpClientSock = socket(AF_INET,SOCK_DGRAM)
    
    while True:
        data = raw_input('>')
        if not data:
            break
        udpClientSock.sendto(data,addr)
        data,addr = udpClientSock.recvfrom(bufsiz)
        if not data:
            break
        print data
    udpClientSock.close()
  • 相关阅读:
    SlidingMenu官方实例分析8——CustomAnimation
    SlidingMenu官方实例分析7——SlidingContent和SlidingTitleBar区别
    SlidingMenu官方实例分析5——FragmentChangeActivity
    SlidingMenu官方实例分析4——AttachExample
    云虚拟主机和云服务器的区别
    SAP MM常用表
    dedecms 模板文件不存在,无法解析文档"的终极各种解决办法
    js代码如何测试代码运行时间
    java 连接msql数据库
    Java 创建xml文件和操作xml数据
  • 原文地址:https://www.cnblogs.com/lovely7/p/5830197.html
Copyright © 2020-2023  润新知