python学习之socket模块
socket.socket(family=AF_INET,type=SOCK_STREAM,proto=,fileno=None)
使用给定的地址族,套接字类型和协议号创建一个新的套接字。
family: 地址系列应为AF_INET(默认值),AF_INET6,AF_UNIX,AF_CAN或AF_RDS。
(AF_UNIX 域实际上是使用本地 socket 文件来通信)
type: 套接字类型应为SOCK_STREAM(默认值),SOCK_DGRAM,SOCK_RAW或其他SOCK_常量之一。
SOCK_STREAM 是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送。 SOCK_DGRAM 是无保障的面向消息的socket , 主要用于在网络上发广播信息。 SOCK_STREAM是基于TCP的,数据传输比较有保障。SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播 SOCK_STREAM 是数据流,一般是tcp/ip协议的编程,SOCK_DGRAM分是数据包,是udp协议网络编程
proto: 协议号通常为零,可以省略,或者在地址族为AF_CAN的情况下,协议应为CAN_RAW或CAN_BCM之一。
fileno: 如果指定了fileno,则其他参数将被忽略,导致带有指定文件描述符的套接字返回。
与socket.fromfd()不同,fileno将返回相同的套接字,而不是重复的。
这可能有助于使用socket.close()关闭一个独立的插座。
新创建的套接字是不可继承的。
版本3.3中更改:添加了AF_CAN系列。添加了AF_RDS系列。
在版本3.4中更改:添加了CAN_BCM协议。
在版本3.4中更改:返回的套接字现在不可继承。
socket.send(bytes [,flags])
发送数据到套接字。
插座必须连接到远程插座。
可选flags参数与上述recv()的含义相同。
返回发送的字节数。
应用程序负责检查所有数据是否已发送;如果只传输了一些数据,则应用程序需要尝试传送剩余的数据。
有关此主题的更多信息,请参阅Socket Programming HOWTO。
在版本3.5中更改:如果系统调用中断,并且信号处理程序不引发异常,则该方法现在将重试系统调用,而不是提高InterruptedError异常(请参阅PEP 475的理由)。
socket.recv(bufsize [,flags])
从套接字接收数据。
返回值是表示接收到的数据的字节对象。
一次性接收的最大数据量由bufsize指定。有关可选参数flags的含义,请参见Unix手册页面recv(2)它默认为零。
注意
为了与硬件和网络现实最佳匹配,bufsize的值应该是相对较小的2,例如4096。
在版本3.5中更改:如果系统调用中断,并且信号处理程序不引发异常,则该方法现在将重试系统调用,而不是提高InterruptedError异常(请参阅PEP 475的理由)。
python学习之socket模块的更多相关文章
- python学习记录-socket模块
主要使用的模块是socket模块,在这个模块中可以找到socket()函数,该函数用于创建套接字对象.套接字也有自己的方法集,这些方法可以实现基于套接字的网络通信. 1.socket类型 构造函数: ...
- Python学习 Part4:模块
Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...
- python学习之argparse模块
python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...
- Python学习day19-常用模块之re模块
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习day18-常用模块之NumPy
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- python学习之socket&黏包
7.4 socket [重要] 避免学习各层的接口,以及协议的使用, socket已经封装好了所有的接口,直接使用这些接口或者方法即可,方便快捷,提升开发效率. socket在python中就是一 ...
- Python中的socket 模块
Python 提供了两个基本的 socket 模块.第一个是 Socket,它提供了标准的 BSD Sockets API.第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务 ...
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
- python学习笔记-socket
socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...
随机推荐
- [转]SQL Server 2008支持将数据导出为脚本
本文转自:http://blog.csdn.net/studyzy/article/details/4303759 以前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然 ...
- 第七章:JAVA引用ESWCF及部分方法说明
WCF搭建地址: http://127.0.0.1:8081/Search.svc?wsdl 操作如下: 引用webservice 2.输入webservice访问地址,点击下一步 3.点击Finis ...
- UML分析设计顺序
1.用例图:最简单的模型,与设计无关 2.活动图:类似流程图 3.用例图:对1的细化,分解后的Actor及Use Case 4.用例图:分解后的Actor及抽取的数据实体 5.类图:数据结构图 6.顺 ...
- git中报unable to auto-detect email address
git commit 时报错: ** Please tell me who you are. Run git config --global user.email "you@example. ...
- 无废话MVC入门教程一[概述、环境安装、创建项目]
(转载) 本文目标 1.对MVC有初步的了解 2.能够在VS2010的基础之上安装MVC3的开发和运行环境 3.对MVC框架有概括性的认识 本文目录 1.什么是MVC 2.VS2010安装MVC3 3 ...
- HTML 超级链接详细讲解
超级链接 超级链接是网站中使用比较频繁的HTML元素,因为网站的各种页面都是由超级链接串接而成,超级链接完成了页面之间的跳转.超级链接是浏览者和服务器的交互的主要手段,在后面的技术中会逐步深化学习. ...
- docker学习笔记-1
docker学习笔记一:安装 mac安装docker docker官方文档上有这么一段话: Because the Docker daemon uses Linux-specific kernel f ...
- iPhone销售拉动 鸿海精密第一季度利润增长21%
据美国<华尔街日报>5月15日消息,苹果公司主要代工厂鸿海精密发布,第一季度利润增长21%.主要得益于iPhone手机销量强劲以及生产效率提升. 这家全球最大的电子产品代工商近一半的收入是 ...
- org.eclipse.e4.core.di.InjectionException:org.eclipse.swt.SWTException: Widget is disposed
org.eclipse.e4.core.di.InjectionException:org.eclipse.swt.SWTException: Widget is disposed 开发环境为ecli ...
- js 数组分解 解构
// ES5 a = list[0], rest = list.slice(1) // ES6 [a, ...rest] = list