zReceiver.py

 import socket
#使用ipv4协议,使用UDP协议传输数据
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#绑定端口和端口号,空字符串表示本机任何可用IP地址
s.bind(('',5000))
while True:
data, addr=s.recvfrom(1024)
#显示接收到的内容
print('received message:{0} from PORT {1} on {2}'.format(data.decode(),addr[1],addr[0]))
if data.decode().lower() == 'bye':
break
s.close()

zSender.py

 import socket
import sys s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.sendto(sys.argv[1].encode(),("192.168.1.59",5000)) #假设192.168.1.59是接收端及其的IP地址
s.close()

注明:先将zSender.py中的ip地址替换为要接收的ip地址,先在终端(mac)\命令行启动接收端,在其输入:

cd xx  切换到zReceiver.py文件所在目录,xx为路径

python zReceiver.py    执行接收端

再新建一个终端\命令行,输入

cd xx  切换到zSender.py文件所在目录,xx为路径

python zSender.py    执行发送端

Python_socket_UDP的更多相关文章

随机推荐

  1. Java之美[从菜鸟到高手演变]之设计模式四

    在阅读过程中有任何问题,请及时联系:egg. 邮箱:xtfggef@gmail.com 微博:http://weibo.com/xtfggef 转载请说明出处:http://blog.csdn.net ...

  2. ceres-solver库编译说明

    0.            ceres-solver简介 Ceres Solver是一个C++环境下的非线性最小二乘问题的求解工具包,可用来建模并解决大型复杂的非线性最小二乘问题.这个工具包已经广泛被 ...

  3. 聊聊javaMail

    今天闲着无事 看了看用java发送邮件的相关知识 代码参考自<<精通Java Web整合开发(JSP+AJAX+Struts+Hibernate)>>(第2版) 不多说 先上图 ...

  4. iOSAPP启动效果复杂动画之抽丝剥茧

    一.前言 随着开发者的增多和时间的累积,AppStore已经有非常多的应用了,每年都有很多新的APP产生.但是我们手机上留存的应用有限,所以如何吸引用户,成为产品设计的一项重要内容.其中炫酷的动画效果 ...

  5. Swift之GCD使用指南1

    Grand Central Dispatch(GCD)是异步执行任务的技术之一.一般将应用程序中记述的线程管理用的代码在系统级中实现.开发者只需要定义想执行的任务并追加到适当的Dispatch Que ...

  6. SharePoint 2007 图片库视图不可用、页面标题不显示

    描述: 问题1:SharePoint新建图片库,想选择"视图"-"所有图片",选择"详细信息.幻灯片.缩略图"等视图,均没有反应.如图1. ...

  7. SharePoint 使用技巧汇总与讨论

    1.  网站内容和结构(/_layouts/sitemanager.aspx) 自己使用SharePoint也有一年了,居然没有发现这个页面,鄙视自己一下,才发现这个页对数据进行操作,会方便很多,比如 ...

  8. JDBC 连接Oracle

    工作中,我们遇到的操作数据库代码都是封装起来的,今天我们就来看看,最基本的利用JDBC来操作数据库. JDBC连接数据库主要有三个步骤: 第一步:加载数据库驱动.通常我们使用Class.forName ...

  9. 关于Mac中PATH环境变量可能会被修改的几个地方

    一个是全局的profile文件,位置在/etc/profile中:另一个和用户无关的全局位置在/etc/paths.d目录中: apple@kissAir: paths.d$pwd /etc/path ...

  10. ubuntu下ruby文件执行蛋疼的一个问题

    ubuntu下面用sublime打开非常简单的一段代码(其实不算代码,因为没有实际语句): #!/usr/bin/ruby 在shell下加入x权限:chmod u+x doit.rb,然后运行 ./ ...