Python socket模块实现的udp通信功能示例
本文实例讲述了Python socket模块实现的udp通信功能。分享给大家供大家参考,具体如下:
socket介绍
socket(简称 套接字) 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:
它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页、QQ 聊天、收发 email 等等。
模拟udp_socket客户端(发送端):udp_client.py
#coding=utf-8 import socket # 获取本机的ip地址 def get_addr(): # 获取本机计算机名称 hostname = socket.gethostname() # 获取本机ip并返回 return socket.gethostbyname(hostname) # 创建udp套接字, # AF_INET表示ip地址的类型是ipv4, # SOCK_DGRAM表示传输的协议类型是udp udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 要发送的信息 test_data = raw_input('请输入要发送的消息:') print 'send_data = ', test_data # 要发送的ip地址和端口(元组的形式) host = get_addr() test_addr = (host, 8080) print 'send_addr = ', test_addr print 'prepare to send ------' # 发送消息 udp_socket.sendto(test_data, test_addr) # 关闭套接字 udp_socket.close() print 'send end ------'
模拟udp_socket套接字服务端(接收端):udp_server.py
# coding=utf-8 import socket # 获取本机的ip地址 def get_addr(): # 获取本机计算机名称 hostname = socket.gethostname() # 获取本机ip并返回 return socket.gethostbyname(hostname) # 创建udp套接字, # AF_INET表示ip地址的类型是ipv4, # SOCK_DGRAM表示传输的协议类型是udp udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定本地信息,若不绑定,系统会自动分配 host = get_addr() bind_addr = (host, 8080) print 'bind_addr = ', bind_addr udp_socket.bind(bind_addr) # ip和port,ip一般不用写,表示本机的任何一个ip # 等待接收数据 revc_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大字节数 # 打印接收到的数据 print 'revc_data = ', revc_data print 'data = ', revc_data[0] print 'ip_port = ', revc_data[1] # 关闭套接字 udp_socket.close()
更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
相关推荐
-
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
本文实例讲述了Python 网络编程之UDP发送接收数据功能.分享给大家供大家参考,具体如下: demo.py(UDP发送数据): import socket # 导入socket模块 def main(): # 创建一个udp套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定本机ip和端口号 (发送数据时,如果不绑定,系统会随机分配端口号.接收数据时,一般需要手动绑定ip和端口) udp_socket.b
-
Python基于socket模块实现UDP通信功能示例
本文实例讲述了Python基于socket模块实现UDP通信功能.分享给大家供大家参考,具体如下: 一 代码 1.接收端 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(
-
Python的Socket编程过程中实现UDP端口复用的实例分享
关于端口复用 一个套接字不能同时绑定多个端口,如果客户端想绑定端口号,一定要调用发送信息函数之前绑定( bind )端口,因为在发送信息函数( sendto, 或 write ),系统会自动给当前网络程序分配一个随机端口号,这相当于随机绑定了一个端口号,这里只会分配一次,以后通信就以这个随机端口通信,我们再绑定端口号的话,就会绑定失败.如果我们放在发送信息函数( sendto, 或 write )之前绑定,那样程序将以我们绑定的端口号发送信息,不会再随机分配一个端口号.实际上,默认的情况下,如果
-
python实现udp数据报传输的方法
本文实例讲述了Python实现UDP数据报传输的方法,非常具有实用价值.分享给大家供大家参考.具体方法分析如下: 服务端代码: import socket port = 8081 s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #从给定的端口,从任何发送者,接收UDP数据报 s.bind(("",port)) print 'waiting on port:',port while True: data,addr = s.recvf
-
python基于socket实现的UDP及TCP通讯功能示例
本文实例讲述了python基于socket实现的UDP及TCP通讯功能.分享给大家供大家参考,具体如下: Server: import socket address = ('127.0.0.1', 31500) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.bind(address) while True: data, addr = s.recvfrom(2048) if not data: print "client has ex
-
Python实现基于socket的udp传输与接收功能详解
本文实例讲述了Python实现基于socket的udp传输与接收功能.分享给大家供大家参考,具体如下: udp的传输与接收 windows网络调试助手下载:https://pan.baidu.com/s/1IwBWeAzGUO1A3sCWl20ssQ 提取码:68gr 或者点击此处本站下载. 一.基本用法 1.创建套接字 udp_socket = socket.socket(socket.AF_INET,cosket.SOCK_DGRAM) localaddr = ("",port)
-
python网络编程之数据传输UDP实例分析
本文实例讲述了python网络编程之数据传输UDP实现方法.分享给大家供大家参考.具体分析如下: 一.问题: 你觉得网络上像msn,qq之类的工具在多台机器之间互相传输数据神秘吗?你也想玩一下在两台机器之间传数据吗?今天让python告诉我们基本原理吧,当然只是做简单的了解,实际情况复杂的多. 我们今天用python实现一个简单的udp程序. 二.程序实现: 1) 使用模块 (socket)套接字模块: 套接字模块是一个非常简单的基于对象的接口,它提供对低层BSD套接字样式网络的访问
-
Python+Socket实现基于UDP协议的局域网广播功能示例
本文实例讲述了Python+Socket实现基于UDP协议的局域网广播功能.分享给大家供大家参考,具体如下: 服务器端: # udp_gb_server.py '''服务端(UDP协议局域网广播)''' import socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) PORT = 1060 network = '<b
-
对python中UDP,socket的使用详解
讲到UDP和TCP之前咱们先了解一下socket Socket socket简称套接字,是进程间通信的一种方式.与其他的方式的进程间的通讯的方式不同的是,socket是实现了主机间进程间的通讯.我们网络上的各种服务都是基于socket来完成的.例如QQ.微信. 怎么样创建socket呢. 创建一个tcpsocket: s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 创建一个UDP类型的socket; # # 创建套接字 # udpSock
-
Python socket模块实现的udp通信功能示例
本文实例讲述了Python socket模块实现的udp通信功能.分享给大家供大家参考,具体如下: socket介绍 socket(简称 套接字) 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是: 它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ 聊天.收发 email 等等. 模拟udp_socket客户端(发送端):udp_client.py #coding=utf-8 import socket # 获
-
Python Socket实现简单TCP Server/client功能示例
本文实例讲述了Python Socket实现简单TCP Server/client功能.分享给大家供大家参考,具体如下: 网络上关于socket的介绍文章数不胜数.自己记录下学习的点点滴滴.以供将来复习学习使用. socket中文的翻译是套接字,总感觉词不达意.简单的理解就是ip+port形成的一个管理单元.也是程序中应用程序调用的接口. 在这里我们先介绍如何启动tcp 的server. tcp连接中server部分,启动一个ip和port口,在这个port口监听,当收到client发来的请求,
-
python实现一个简单的udp通信的示例代码
什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. python创建套接字 socket.socket([family[, type[, proto]]]) 参数解析: family: AF_UNIX(适用跨机通信) 或 AF_INET(IPv4)(适用本机通信) type: 套接字类型,可以根据是面向连接的还是非连接分为 SOCK_STREAM(TCP) 或 SO
-
Python socket实现多对多全双工通信的方法
服务器:#server.py #!/usr/bin/env python #-*-coding:utf-8-*- import sys import struct#将字符串打包为二进制流进行网络传输 import select# import signal#用于捕获中断信号 import cPickle#将python对象进行序列化:dumps将python对象序列化保存为字符串,loads与之相反 from socket import * HOST = '' def send(channel,
-
Python socket模块ftp传输文件过程解析
这篇文章主要介绍了Python socket模块ftp传输文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用环境:python3,window环境,需要在头部声明# -*- coding:utf-8 -*- 实现功能: 将sever端所处文件夹的文件,传输到client端所处的文件夹中. 并且通过md5检测是否出错. 客户端命令的形式是: get 文件名 client处的新文件是 文件名.new ftp_sever.py impo
-
Python socket模块方法实现详解
这篇文章主要介绍了Python socket模块方法实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 socket ssh (不带防止粘包的方法) #! /usr/bin/env python # -*- coding:utf-8 -*- # Author Ian Ying # mail: kongqing.ying@yitu-inc.com import socket import os server = socket.socket()
-
Python常用模块sys,os,time,random功能与用法实例分析
本文实例讲述了Python常用模块sys,os,time,random功能与用法.分享给大家供大家参考,具体如下: sys: 介绍:主要包含涉及python编译器与系统交互的函数. 常用函数: import sys print(sys.argv)#本文件名,已经运行该程序时的参数 #[如在命令窗口中python3 mysys.py 参数1 参数2] #那么参数1为sys.argv[1],以此类推 print(sys.version)#python版本号 print(sys.path)#返回模块的
-
如何使用python socket模块实现简单的文件下载
server端: # ftp server端 import socket, os, time server = socket.socket() server.bind(("localhost", 8080)) server.listen() while True: conn, addr = server.accept() print("连接到客户端:", addr) while True: try: # windows会直接报错,需要捕获异常 data = conn
-
C#中使用UDP通信的示例
网络通信协议中的UDP通信是无连接通信,客户端在发送数据前无需与服务器端建立连接,即使服务器端不在线也可以发送,但是不能保证服务器端可以收到数据.本文实例即为基于C#实现的UDP通信.具体功能代码如下: 服务器端代码如下 static void Main(string[] args) { UdpClient client = null; string receiveString = null; byte[] receiveData = null; //实例化一个远程端点,IP和端
随机推荐
- AngularJS学习笔记(三)数据双向绑定的简单实例
- Python基于分水岭算法解决走迷宫游戏示例
- Swift的开发环境搭建以及基本语法详解
- javascript让setInteval里的函数参数中的this指向特定的对象
- 如何使用FireFox插件FirePHP调试PHP
- php获取错误信息的方法
- Android 使用 ViewPager循环广告位的实现
- Python的randrange()方法使用教程
- C语言中const和C++中的const 区别详解
- mysql use命令选择数据库详解
- Python将阿拉伯数字转换为罗马数字的方法
- ASP页面随机添加字符实现防复制的代码
- c语言中字符串分割函数及实现方法
- rsync备份海量文件时占用大量内存的解决方法
- MySQL使用外键实现级联删除与更新的方法
- Java快速批量移动文件的实现方法
- jQuery中DOM树操作之复制元素的方法
- jQuery源码中的chunker 正则过滤符分析
- javascript将数字转换整数金额大写的方法
- 解决Android平台中应用程序OOM异常的方法