udppython

1.python 支不支持tipc通讯

肯定支持socket()函数用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源。

如果协议protocol未指定(等于0),则使用缺省的连接方式。对于使用一给定地址族的某一特定套接口,只支持一种协议。

但地址族可设为AF_UNSPEC(未指定),这样的话协议参数就要指定了。协议号特定于进行通讯的“通讯域”。

创建一个套接口()。#include SOCKET PASCAL FAR socket( int af, int type, int protocol);af:一个地址描述。

目前仅支持AF_INET格式,也就是说ARPA Internet地址格式。type:指定socket类型。

新套接口的类型描述类型,如TCP(SOCK_STREAM)和UDP(SOCK_DGRAM)。常用的socket类型有,SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET、SOCK_SEQPACKET等等。

protocol:顾名思义,就是指定协议。套接口所用的协议。

如调用者不想指定,可用0。常用的协议有,IPPROTO_TCP、IPPROTO_UDP、IPPROTO_SCTP、IPPROTO_TIPC等,它们分别对应TCP传输协议、UDP传输协议、STCP传输协议、TIPC传输协议。

支持下述类型描述:类型 解释SOCK_STREAM 提供有序的、可靠的、双向的和基于连接的字节流,使用带外数据传送机制,为Internet地址族使用TCP。SOCK_DGRAM 支持无连接的、不可靠的和使用固定大小(通常很小)缓冲区的数据报服务,为Internet地址族使用UDP。

SOCK_STREAM类型的套接口为全双向的字节流。对于流类套接口,在接收或发送数据前必需处于已连接状态。

用connect()调用建立与另一套接口的连接,连接成功后,即可用send()和recv()传送数据。当会话结束后,调用closesocket()。

带外数据根据规定用send()和recv()来接收。实现SOCK_STREAM类型套接口的通讯协议保证数据不会丢失也不会重复。

如果终端协议有缓冲区空间,且数据不能在一定时间成功发送,则认为连接中断,其后续的调用也将以WSAETIMEOUT错误返回。SOCK_DGRAM类型套接口允许使用sendto()和recvfrom()从任意端口发送或接收数据报。

如果这样一个套接口用connect()与一个指定端口连接,则可用send()和recv()与该端口进行数据报的发送与接收。

2.python设计UDP通信时,recvfrom()中的参数是什么意思

socket.recvfrom(bufsize[, flags])Receive data from the socket. The return value is a pair (bytes, address) where bytes is a bytes object representing the data received and address is the address of the socket sending the data. See the Unix manual page recv(2) for the meaning of the optional argument flags; it defaults to zero. (The format of address depends on the address family — see above.)recvfrom(1)就是从缓冲区读一个字节的数据。

3.python中使用socket编程,如何能够通过UDP传递一个列表类型的数据

Python中的 list 或者 dict 都可以转成JSON字符串来发送,接收后再转回来。

首先

import json然后,把 list 或 dict 转成 JSON

json_string = json.dumps(list_or_dict)用socket发送过去,例如

s.sendto(json_string, address)

对方用socket接收,例如

json_string, addr = s.recvfrom(2048)把JSON转成 list 或 dict

list_or_dict = json.loads(json_string)

-----------------------------------------------------

下面是个完整的例子:

client.py

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

import socket

import json

address = ('127.0.0.1', 31500)

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

json_string = json.dumps(mylist)

s.sendto(json_string, address)

s.shutdown(socket.SHUT_RDWR)

s.close()

server.py

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

import socket

import json

address = ('127.0.0.1', 31500)

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.bind(address)

json_string, addr = s.recvfrom(2048)

mylist = json.loads(json_string)

print mylist

s.shutdown(socket.SHUT_RDWR)

s.close()

请先运行server.py,再运行client.py

udppython

转载请注明出处代码入门网 » udppython

资讯

centos升级python

阅读(26)

本文主要为您介绍centos升级python,内容包括centos中如何将python更新到最新的版本,如何在centos下更改默认版本的python,centos系统系统怎样升级python到python3。1.下载Python-2.7.3 [plain] view plain copy print? #wget #wget 2.解压

资讯

python的自动化测试

阅读(18)

本文主要为您介绍python的自动化测试,内容包括python自动化测试的工具,怎么用python做自动化测试,如何用python做自动化测试。1新建一台Jenkins服务器,安装并配置好Jenkins2配置一个自动化测试脚本的代码库,可以使用Git或者SVN等版本控制工具

资讯

pythonif缩进

阅读(24)

本文主要为您介绍pythonif缩进,内容包括python缩进问题,代码如下,pythonif语句缩进,python中if和else怎么缩进。第二种情况很好理解for n in range(2,14):for x in range(2,n):if n%x==0:print n,

资讯

python中文手册

阅读(18)

本文主要为您介绍python中文手册,内容包括python中文教程,Python学习手册的目录,求《Python学习手册》(第四版)中文版pdf,非常感谢。《Python3 教程》Python3 基础语法Python3 基本数据类型Python3 解释器Python3 注释Python3 运

资讯

python文件目录

阅读(23)

本文主要为您介绍python文件目录,内容包括Python中文件和目录有什么区别,用python把文件夹下的所有文件包括文件夹里面的文件都拷贝到同一个,python中怎样将文件拷贝到指定的目录下。(path, path1):forf inos.listdir(path):ifos.p

资讯

python的缩进

阅读(19)

本文主要为您介绍python的缩进,内容包括python缩进问题,python的缩进问题,关于python缩进问题。交互模式在使用块语句(if, while, try)时,在结束块语句时,要输入额外的回车的。交互模式只会一个命令一个命令地执行,块语句视

资讯

windows安装python

阅读(22)

本文主要为您介绍windows安装python,内容包括怎么在WINDOWS系统中安装Python,如何在windows下安装python,如何在Windows系统中安装Python。从官方网站下载Python根据不同的版本下载不通的安装包,这里先介绍WINDOWS怎么安装下载好安装包后双

资讯

python包的导入

阅读(16)

本文主要为您介绍python包的导入,内容包括如何把一个python包导入到python库中,python导入数据包的几种方法,python包导入问题,求解。Python 运行环境在查找模块时是对 sys.path 列表进行遍历,如果我们想在运行环境中添加自定义的模块,主要有

资讯

python的测试框架

阅读(22)

本文主要为您介绍python的测试框架,内容包括python单元测试框架,当前PYTHON常用的测试框架,Python自动化测试框架?。日志类,用于测试时日志记录 pyapilog.py 1 # -*-coding:utf-8 -*- 2 # !/usr/bin/pyth

资讯

pythoncentos升级

阅读(20)

本文主要为您介绍pythoncentos升级,内容包括centos中如何将python更新到最新的版本,centos中如何将python更新到最新的版本,centos怎么升级python。1.下载Python-2.7.3 [plain] view plain copy print? #wget #wget 2.解压 [pl

资讯

Pythoncsv读取

阅读(21)

本文主要为您介绍Pythoncsv读取,内容包括python怎么读csv文件,python怎么读取csv文件,python中怎么读取csv文件。什么是CSV就是内容用逗号隔开,后缀是.csv的文件。它可以被任何一个文本编辑器打开。如果用excel打开,它又可以是这样的:END读C

资讯

python2.7

阅读(22)

本文主要为您介绍python2.7,内容包括关于下载python2.7,如何在Windows7安装Python2.7,哪里可以下载到支持python2.7的pcapy呢。python的安装主要由以下四个步骤: 下载:首先是从官方网站下载python的安装包(注意选择操作系统和机器字长:32bit|64

资讯

python网页抓取

阅读(19)

本文主要为您介绍python网页抓取,内容包括如何用Python爬虫抓取网页内容?,如何用python从网页上抓取数据,怎样用python爬取网页。首先,你要安装requests和BeautifulSoup4,然后执行如下代码. 1 2 3 4 5 6 7 8 9 10 11 12

资讯

golang与python

阅读(21)

本文主要为您介绍golang与python,内容包括Python,Ruby,Go语言哪个更值得学习,go和python哪个好,golang还是不如python好用。豆瓣http://www.douban.com/group/topic/46948882/?cid=579722942知乎http://