zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    java面试题2
    java面试题
    查询数据库表字段名和字段类型等信息
    安装eclipse
    redis启动
    eclipse离线安装sonarlint插件
    大白菜安装win10系统
    制作window.ios镜像
    大白菜装机系统
    传递中文字符串时,转换编码格式
  • 原文地址:https://www.cnblogs.com/lovely7/p/5830197.html
Copyright © 2011-2022 走看看