import socket
from threading import Thread def recv_data():
while True:
recv_info = udp_socket.recvfrom(1024)
print(">> %s:%s" % (recv_info[1], recv_info[0].decode("gbk")))
pass def send_data():
while True:
send_info = input("<<")
udp_socket.sendto(send_info.encode("gbk"), (ip, port))
pass def main():
global udp_socket
global ip
global port
ip = input("对方的ip:")
port = int(input("对方的port:"))
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_socket.bind(("", 8080))
tr = Thread(target=recv_data)
ts = Thread(target=send_data) tr.start()
ts.start() tr.join()
ts.join() if __name__ == "__main__":
udp_socket = None
ip = ""
port = 0
main()

最新文章

  1. opendaylight的Beryllium安装
  2. pdb调试技巧
  3. C# 数据库查询总结
  4. Java核心知识点学习----多线程并发之线程间的通信,notify,wait
  5. SQLLite 可以通过SQL语言来访问的文件型SQL数据库
  6. 纯css3 transforms 3D文字翻开翻转3D开放式效果
  7. 标签的innerHTML属性和html()
  8. 2D简单图形相关算法罗列
  9. 逻辑很重要:一句sql语句的事,自己却想了半天,绕了个大弯子
  10. Eclipse中如何安装和使用GrepCode插件
  11. HDN2048(交错复发)
  12. Script:SQL调优健康检查脚本
  13. 使用JDT.AST解析java源码
  14. Shiro中的授权问题(二)
  15. HTTP之状态码
  16. 1.2.1 Excel如何从身份证号中提取日期
  17. Visual Studio2017 Remote Debugger
  18. MT【239】离心率最大
  19. c++中的构造(包括移动),赋值(包括移动),析构详解
  20. HDU 2089:不要62

热门文章

  1. 使用openstack的虚拟机模版注意事项
  2. SNMP安全配置的两种方法(也可同一时候兼顾配置两种方法)
  3. hdoj-1214-圆桌会议【逆序数】
  4. luogu3959 宝藏 搜索+剪枝
  5. caffe to tensorflow alexnet model
  6. oracle 分页方法
  7. centos语言设置
  8. 修路方案 Kruskal 之 次小生成树
  9. java,安卓之信息的输出
  10. 【Leetcode】115. Distinct Subsequences