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()
  • 相关阅读:
    移动APP的开发需求分析
    我心中的理想团队和对软件开发流程的理解
    Git 命令
    在Visio2010中修改默认字体的大小
    Remove @Override annotation错误提示
    SPRING框架中ModelAndView、Model、ModelMap区别
    select count(*)和select count(1)的区别
    eclipse 关键字高亮显示
    MyEclipse下安装MyBatis Generator代码反向生成工具
    关于 log4j.additivity的说明
  • 原文地址:https://www.cnblogs.com/lovely7/p/5830197.html
Copyright © 2011-2022 走看看