基本的 Python socket 模块-程序员宅基地

技术标签: python  

ocket 模块

Socket 模块提供了 UNIX 程序员所熟悉的基本网络服务(也称为 BSD API)。这个模块中提供了在构建 socket 服务器和客户机时所需要的所有功能。

这个 API 与标准的 C API 之间的区别在于它是面向对象的。在C中,socket描述符是从socket调用中获得的,然后会作为一个参数传递给BSD API函数。在Python中,socket 方法会向应用socket方法的对象返回一个socket对象。表2给出了几个类方法,表3显示了一部分实例方法。

  • 表2. Socket 模块的类方法

类方法

说明

Socket

低层网络接口(每个 BSD API)

socket.socket(family, type)

创建并返回一个新的 socket 对象

socket.getfqdn(name)

将使用点号分隔的 IP 地址字符串转换成一个完整的域名

socket.gethostbyname(hostname)

将主机名解析为一个使用点号分隔的 IP 地址字符串

socket.fromfd(fd, family, type)

从现有的文件描述符创建一个 socket 对象

  • 表3. Socket 模块的实例方法

实例方法

说明

sock.bind( (adrs, port) )

将 socket 绑定到一个地址和端口上

sock.accept()

返回一个客户机 socket(带有客户机端的地址信息)

sock.listen(backlog)

将 socket 设置成监听模式,能够监听 backlog 外来的连接请求

sock.connect( (adrs, port) )

将 socket 连接到定义的主机和端口上

sock.recv( buflen[, flags] )

从 socket 中接收数据,最多 buflen 个字符

sock.recvfrom( buflen[, flags] )

从 socket 中接收数据,最多 buflen 个字符,同时返回数据来源的远程主机和端口号

sock.send( data[, flags] )

通过 socket 发送数据

sock.sendto( data[, flags], addr )

通过 socket 发送数据

sock.close()

关闭 socket

sock.getsockopt( lvl, optname )

获得指定 socket 选项的值

sock.setsockopt( lvl, optname, val )

设置指定 socket 选项的值

转载于:https://www.cnblogs.com/bulemaple/p/3513430.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30412577/article/details/95649810

智能推荐

AVR单片机GCC编程_gcc risc8位-程序员宅基地

文章浏览阅读2.8k次。Atmel公司的AVR 8位RISC单片机是一种非常普通的单片机.它是一个具有电擦写可编程只读存储器(EEPROM),随机访问存储器(RAM),模数转换器,大量的输入和输出线路,计时器,RS-232通讯接口UART以及其他很多功能的单片集成电路.最好的莫过于在Linux下具有一个可供利用的完整编程环境:你可以采用GCC对这种单片机进行C语言编程.本文我将向你讲述如何安装和使用GCC.我也将_gcc risc8位

gis插入的文本怎么搞成两行_没有电脑怎么做PPT?用手机这样做!比电脑做出来的还要精美...-程序员宅基地

文章浏览阅读81次。前天晚上小编正躺在床上刷微博的时候,领导突然找我!要我帮他搞个PPT!吓得我差点从床上滚下来!能不做吗?当然不能了……懒癌晚期的我真的不想从床上爬起来开电脑做PPT!!!我和床是真爱!!!不要将我们分离!!!怎么办呢?嘿嘿!那就用手机做吧!什么?你不知道手机可以做PPT 吗?啧!看来还得我来教你!一、PPT制作1、安装WPS首先呢,我们当然需要工具!所以先在手机里安装一个WPS~这个大家不陌生吧?...

基于Docker搭建DzzOffice与OnlyOffice线上协同办公服务器_dzzoffice onlyoffice-程序员宅基地

文章浏览阅读9.5k次,点赞2次,收藏32次。基于Docker搭建DzzOffice与OnlyOffice线上协同办公服务器基于Docker搭建DzzOffice与OnlyOffice线上协同办公服务器 安装操作系统 安装数据库 安装部署DzzOffice 官方镜像提示: 安装部署Onlyoffice 安装操作系统我是用的是最新版的Ubuntu桌面系统,其实操作系统无所谓,使用Docker之后和操作系统的影响不是很大,容器化部署之后方便迁移和重新部署安装数据库在docker官方镜像源上下载mysql数据库镜_dzzoffice onlyoffice

C语言 | windows命令行编译(Cygwin)_cygwin编译命令-程序员宅基地

文章浏览阅读2.2k次。本文更好的排版方式:https://mp.weixin.qq.com/s?__biz=MzU5MzcyMjI4MA==&mid=100000740&idx=1&sn=f2b589c6930bb6576b5f59997dbef111&chksm=7e0d6d23497ae43532bc906510246c23a885_cygwin编译命令

IMX6ULL系列学习记录-sii902x移植篇-程序员宅基地

文章浏览阅读4.7k次,点赞5次,收藏19次。主题:IX6ULL sii902x移植记录(参考官方文档Sii9022a HDMI transmitter driver)硬件平台:野火IMX6ULL软件:ubuntu19.04交叉编译器:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihfU-Boot:uboot-imx-rel_imx_4.1.15_2.1.0_gaker..._sii902x

跟着官方文档学DGL框架第十天——训练图神经网络之链接预测_链接预测 图神经网络-程序员宅基地

文章浏览阅读6.4k次,点赞14次,收藏65次。参考链接https://docs.dgl.ai/en/latest/guide/training-link.html#guide-training-link-prediction概述什么是链接预测链接预测就是预测图中给定节点间是否存在边,常用于推荐系统。形式化地,给定节点uuu和vvv,链接预测的任务就是得到它们间存在链接的概率yu,v=ϕ(u,v)y_{u,v}=\phi \left ( u,v\right )yu,v​=ϕ(u,v)。具体到GNN上,我们通过L层的GNN得到节点uuu和vv_链接预测 图神经网络

随便推点

C#实现聊天功能_启动计时器,在计时器的tick事件中判断是否有消息传输。如果有将信息显示在文本框-程序员宅基地

文章浏览阅读8.9k次,点赞26次,收藏75次。要一对一、一对多的发送信息,实现聊天功能。需要用到C#网络编程的知识,需要用到System.Net、System.Net.Sockets和System.Net.Mail命名空间下的类。还需要知道网络编程的基本概念。IP:每个电脑都有一个IP地址,在局域网内IP地址是可变的。TCP协议(传输控制协议):是面向连接的传输层协议,应用程序在使用TCP之前,必须先建立TCP连接,在传输数据完毕后,必须释放已经建立的连接(跟打电话是否类似)。TCP可以保证从一端将数据传送至连接的另一端时,_启动计时器,在计时器的tick事件中判断是否有消息传输。如果有将信息显示在文本框

Setting Sync 备份vscode插件_ps setting router是什么插件-程序员宅基地

文章浏览阅读320次。插件备份一直都是很头痛的事,有些教程写的不是很详细,这次来详细说一下1.下载 Setting Sync2.登陆GitHub输入快捷键后会弹出浏览器,在GitHub上登录账号3.上传Shift + Alt + U 快捷键上传上传成功后,记住 sync.gist就是这一串4.在新设备上同步在此之前需要下载 Setting Sync 插件输入同步的快捷键 Shift +..._ps setting router是什么插件

转:动态规划题目分类-程序员宅基地

文章浏览阅读155次。https://blog.csdn.net/cc_again/article/details/25866971一、简单基础dp这类dp主要是一些状态比较容易表示,转移方程比较好想,问题比较基本常见的。主要包括递推、背包、LIS(最长递增序列),LCS(最长公共子序列),下面针对这几种类型,推荐一下比较好的学习资料和题目。1、递推:递推一般形式比较单一,从前往后,分类枚举就..._杭电 动态规划大全` 题目分类

如何升级Carbide C++的GCCE Tool Chain_no tool chain set up in kit "desktop qt 5.9.6 gcc -程序员宅基地

文章浏览阅读2.4k次。Carbide C++的编译器在Symbian开发工程中,Carbide C++是非常好用的开发工具,目前提供GCCE,ARMV5和RVCT三种编译器的支持。前两种编译器是免费的,RVCT是收费的编译工具,网上下载的Carbide并不默认提供,需要自己下载并配置才能使用,由于RVCT提供了专门的优化,编译结果的目标文件体积很小,且代码执行效率更高,但问题是该编译器费用比较昂贵,普通开发_no tool chain set up in kit "desktop qt 5.9.6 gcc 64bit" for "c++".

断点续传、大文件上传、秒传、webuploader_webuploader 限制视频文件上传的秒数-程序员宅基地

文章浏览阅读317次。一、 功能性需求与非功能性需求 要求操作便利,一次选择多个文件进行上传;支持大文件上传(1G),同时需要保证上传期间用户电脑不出现卡死等体验;交互友好,能够及时反馈上传的进度;服务端的安全性,不因上传文件功能导致JVM内存溢出影响其他功能使用;最大限度利用网络上行带宽,提高上传速度;二、 设计分析 对于大文件的处理,无论是用户端还是服务端,如果一次性进行读取发送、接收都是..._webuploader 限制视频文件上传的秒数

gRPC学习之五:gRPC-Gateway实战,java分层架构_grpc gateway java-程序员宅基地

文章浏览阅读803次。GO的gRPC开发环境准备极速搭建gRPC-Gateway环境所谓的搭建gRPC-Gateway环境,其实是完成以下三件事:在搭建环境时参考了一些网上的文章,结果遇到了各种问题一直没有成功(我当然不会认为文章有问题,必须认识到是自己能力不足的原因所致);经过反复折腾后终于成功后,我把所有操作做成一个shell脚本,执行以下命令即可完成上图中的所有操作:curl -o install-grpc-gateway.sh \https://raw.githubusercontent._grpc gateway java