socket编程(python) ---------------------------落雨成风

HPSocket的使用(一、利用HPsocket 写一个TCP客户端) 一、前言 什么是HP socket? 参考链接:https://www.oschina.net/p/hp-socket HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。 HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知 阅读详情

socket:socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)

基本上,Socket 是任何一种计算机网络通讯中最基础的内容。例如当你在浏览器地址栏中输入 http://www.cnblogs.com/ 时,你会打开一个套接字,然后连接到 http://www.cnblogs.com/ 并读取响应的页面然后然后显示出来。而其他一些聊天客户端如 gtalk 和 skype 也是类似。任何网络通讯都是通过 Socket 来完成的。

Python 官方关于 Socket 的函数请看 http://docs.python.org/library/socket.html

socket和file的区别:

1、file模块是针对某个指定文件进行【打开】【读写】【关闭】

2、socket模块是针对 服务器端 和 客户端Socket 进行【打开】【读写】【关闭】

在这里插入图片描述

socket编程中一些常用的属性和方法:
bind(address)

s.bind(address) 将套接字绑定到地址。address地址的格式取决于地址族。在AF_INET下,以元组(host,port)的形式表示地址。

listen(backlog)

开始监听传入连接。backlog指定在拒绝连接之前,可以挂起的最大连接数量。

  backlog等于5,表示内核已经接到了连接请求,但服务器还没有调用accept进行处理的连接个数最大为5
  这个值不能无限大,因为要在内核中维护连接队列

setblocking(bool)

是否阻塞(默认True),如果设置False,那么accept和recv时一旦无数据,则报错。

accept()

接受连接并返回(conn,address),其中conn是新的套接字对象,可以用来接收和发送数据。address是连接客户端的地址。

接收TCP 客户的连接(阻塞式)等待连接的到来

connect(address)

连接到address处的套接字。一般,address的格式为元组(hostname,port),如果连接出错,返回socket.error错误。

connect_ex(address)

同上,只不过会有返回值,连接成功时返回 0 ,连接失败时候返回编码,例如:10061

close()

关闭套接字

recv(bufsize[,flag])

接受套接字的数据。数据以字符串形式返回,bufsize指定最多可以接收的数量。flag提供有关消息的其他信息,通常可以忽略。

recvfrom(bufsize[.flag])

与recv()类似,但返回值是(data,address)。其中data是包含接收数据的字符串,address是发送数据的套接字地址。

send(string[,flag])

将string中的数据发送到连接的套接字。返回值是要发送的字节数量,该数量可能小于string的字节大小。即:可能未将指定内容全部发送。

sendall(string[,flag])

将string中的数据发送到连接的套接字,但在返回之前会尝试发送所有数据。成功返回None,失败则抛出异常。
内部通过递归调用send,将所有内容发送出去。

sendto(string[,flag],address)

将数据发送到套接字,address是形式为(ipaddr,port)的元组,指定远程地址。返回值是发送的字节数。该函数主要用于UDP协议。

settimeout(timeout)

设置套接字操作的超时期,timeout是一个浮点数,单位是秒。值为None表示没有超时期。一般,超时期应该在刚创建套接字时设置,因为它们可能用于连接的操作(如 client 连接最多等待5s )

getpeername()

返回连接套接字的远程地址。返回值通常是元组(ipaddr,port)。

getsockname()

返回套接字自己的地址。通常是一个元组(ipaddr,port)

fileno()

套接字的文件描述符

总结:socket编程其实本质上就是基于TCP/IP的网络编程,里面涵盖的东西挺多,包括大家所熟知的 多进程,多线程,协程等,都是基于socket编程的基础上

觉得写的可以的话就关注一下吧,不定时更新各种资源,谢谢!

高性能跨平台(Win&Linux;)网络通信框架 HP-Socket 高性能跨平台(Win&Linux;)网络通信框架 HP-Socket 没有最好只有更好, 非源代码,太大无法上传,有网址可自行下载完整包 。 HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。 为了让使用者能方便快速地学习和使用 HP-Socket ,迅速掌握框架的设计思想和使用方法,特此精心制作了大量 Demo 示例(如:PUSH 模型示例、PULL 模型示例、PACK 模型示例、性能测试示例以及其它编程语言示例)。HP-Socket 目前支持 Windows 和 Linux 平台。 HP-Socket 的设计充分注重功能、通用型、易用性与伸缩性; HP-Socket 项目主页:http://www.oschina.net/p/hp-socket 立即下载

相关推荐

HPSocket通信框架

支持各种语言c c++ C# java 等等

python网络通信框架_HP-Socket首页、文档和下载 - 高性能网络通信框架 - OSCHINA - 中文开源技术交流社区...

HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 A...

weixin_39531229的博客 602

Python-基于socket的MVC服务器框架

基于 socket 的 MVC 服务器框架

Python高级编程4-socket

socket(1) 文章目录一、服务端二、客户端三、通信循环与链接循环四、如果服务端断开了链接五、在服务端添加通信循环,可以服务不同的对象六、一个小例子(类似百度网盘收发文件)七、粘包产生的现象的原因八、struct模块九、继续完善客户端和服务端十、web服务 socket:实现网络编程进行数据传输的技术手段,帮我们把TCP/IP协议都封装好了 socket基石代码(类似于框架) 一、服务端 #**********服务端******** import socket #1. 创建一个socket对象 se

孜孜淑淑的博客 516

HP-Socket 5.7.1

git传送:https://github.com/ldcsaa/HP-Socket。他的demo里面有几个参数没有返回数据,报错了,给加上去了。部分更新日志:。不再更新中文版模块,有四方面原因。1、主要更新英文模块是因为出问题了好查资料,而且各个组件的方法和参数都有详细的中文注释。2、精力有限,近来工作越发的紧凑,没有时间更新。3、英文模块框架更新,增强稳定性,如果要适配到中文模块,相当于重写了。4、小卓的中文支持库已经很稳定了,可以完全代替中文模块(中文模块因为框架更新已经出现了很多BUG)。[15:45 2019/12/03]。==========================================================================================。v5.7.1 更新:。==========================================================================================。> UDP 组件更新:。-----------------。1、增加新组件:

HPSocket高效传输,自动分包组包

HPSocket的高效传输。开源一份HPSocket的tcp的高效传输方案,自动组包分包,我精简了HPSocket4C.dll文件删除了所有的代理,http,udp等等一大堆的东西,dll文件又经过upx压缩仅80kb大小,只保留tcp pack部分。pack本来就是可靠传输,一般不需要单独处理粘包,只要发送的数据在4mb大小以内,完全不需要担心,所以我就使用了切片,单次发送1mb大小的数据。同时使用的易语言自带的 打开内存文件方法来进行组包,之前也咨询了论坛打开内存文件的方法可以存储一个G的文件,但是我们可能也用不到那么大,最多也就几百mb我估计就够用了。可能我的分包组包不是最高效的,但是内存方面肯定是最稳定的(单次发包数据超过200mb,当我没说这句话),现在开源全部源码,如果有大佬有更佳的方案,内存占用少的方法,欢迎告知学习。@BUG508。Tags:HPSocket。

C#-网络通讯框架(一)-HPSocket

一、序言1、HPSocket.Net介绍(1)HPSocket是一套高性能TCP/UDP/HTTP通信框架(适用于Windows、Linux和OSX的HP Socket),包括服务器、客户端和代理组件。(2)它被广泛应用于各种场景中的TCP/UDP/HTTP通信应用。它提供了C/C++、C#、Delphi、Java、Pyt...

weixin_33737110的博客 1891

python实现socket客户端和服务端简单示例

复制代码 代码如下:import socket#socket通信客户端def client():    mysocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)    mysocket.connect((‘127.0.0.1’,8000))    mysocket.send(‘hello’)    while 1:        data=mysocket.recv(1024)        if data:           print data        else:            break    mysocket.c

高性能跨平台网络通信框架 HP-Socket v6.0.2

HP-Socket是一套通用的高性能TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的TCP/UDP/HTTP通信系统,提供C/C++、C#、Delphi、E(易语言)、Java、Python等编程语言接口。HP-Socket对通信层完全封装,应用程序不必关注通信层的任何细节;HP-Socket提供基于事件通知模型的API接口,能非常简单高效地整合到新旧应用程序中。

Ldcsaa的博客 754

python3.5实现socket通讯示例(TCP)

TCP连接: tcp是面向连接的一个协议,意味着,客户端和服务器开发发送数据之前,需要先握手创建一个TCP连接。TCP连接的一端与客户端套接字相互联系,另一端与服务器套接字相联系。当创建该TCP连接的时,我们需要讲客户端与服务器的套接字地址(IP地址和端口号)关联起来。使用创建的TCP连接,当一侧要向另一侧发送数据的时候,它只需要经过其套接字将数据丢给TCP连接,不需要再次附上目的地址。 使用TCP连接的客户-服务器程序: TCPServer.py import socket import socketserver import time import threading serverPo

Scrum中敏捷项目经理(Scrum Master)扮演什么角色?

Scrum Master是Scrum团队中的“服务员”,负责确保所有人都能理解Scrum的理论、实践和规则,以及帮助团队最大化Scrum的利益。Scrum Master服务于Product Owner,帮助Product Owner理解如何使团队的工作最有效地满足产品目标。Scrum Master服务于Development Team,移除开发团队工作上的障碍,保证团队按照Scrum的方式运作。Scrum Master不是团队领导。Scrum团队是自组织的,意味着团队具有做出决策的能力。

huaqianzkh的专栏 2516

HP-Socket高性能网络通信框架深度解析

HP-Socket是一款国产开源高性能网络通信框架,支持TCP/UDP/HTTP/WebSocket等协议,具有跨平台(Windows/Linux/macOS/Android)、多语言接口和高性能架构等特点。采用分层设计,包含应用协议层、通信框架层、平台适配层和操作系统接口层,核心模块包括Server/Agent/Client组件。通过IOCP/EPOLL事件驱动、内存池和零拷贝等技术实现高性能,在金融、物联网和游戏等行业有广泛应用。未来将向云原生、智能化运维等方向演进,持续提升性能和功能。

742

西门子博图编程:使用S7-1500冗余PLC 建立ModbusTCP通信

文章目录1.1 网络结构1.2 系统 IP 介绍1.3 Modbus TCP 通讯编程1.3.1 CPU 做服务器 1.1 网络结构 以 CPU151 7H 为例, 网络结构示意如下图所示: CPU 1517H 冗余 PLC 有 PROFINET X1 接口和 X2 接口, Modbus TCP 通讯可以将设备(例如 Standard PLC)通过交换机接入到任何网络接口中。如果接入 X1 接口,需要通过交换机接入到 MRP 环网中,但是并不需要支持 H-sync 转发。如果接入 X2 接口,只需要使

2万+

HP-SOCKET学习笔记(一)

介绍 HP-Socket是一套通用的高性能TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的TCP/UDP/HTTP通信系统,提供C/C++、C#、Delphi、E(易语言)、Java、Python等编程语言接口。HP-Socket对通信层完全封装,应用程序不必关注通信层的任何细节;HP-Socket提供基于事件通知模型的API接口,能非常简单高效地整合到新旧应用程序中。 来自百度百科介绍。 对于这个库,只是偶然间用到他的HTTP功能。虽然事情已

忧愁的awe的博客 3268

RT-Thread NANO V4.1.1 在Cortex-M0上移植踩坑记:解决内存分配宏导致的线程创建失败

本文详细记录了RT-Thread NANO V4.1.1在Cortex-M0平台移植过程中遇到的内存分配宏配置问题,导致线程创建失败的解决方案。通过分析内存管理算法宏定义,将RT_USING_SMALL_MEM替换为RT_USING_SMALL_MEM_AS_HEAP,成功解决了线程创建问题,为开发者提供了实用的移植经验。

weixin_29189373的博客 307

Vivado FIR Complier_IP核使用方法

文章依靠该IP核对应手册PG149写的,因为笔者需求简单,没有深入挖掘功能,可以自行下载学习。

2302_80180551的博客 3994

易语言与Python socket通信

要在Linux环境下使用Python做服务端,在Windows环境下做客户端,用易语言方便开发。 使用现成的模块Hp-socket 易语言:[搬运]HPsocket5.8.1中文支持库+Demo https://bbs.125.la/forum.php?mod=viewthread&tid=14676555&highlight=socket Python:HPSocket4Python: 这个是HPSocket的Python绑定 https://gitee.com/RonxBulld/

Nick的博客 1950

基于 HPSocket , 实现 socket 通讯

HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。

J。 7623

RK3588 部署 ArcFace(r100)人脸识别模型:ONNX 转 RKNN 全流程详解

本文介绍了将ArcFace人脸识别模型转换为RKNN格式并部署到RK3588 NPU的方法。ArcFace是主流的人脸特征提取模型,适用于1:1比对和1:N检索等场景。文章详细说明了模型特点(输入112x112 RGB图像,输出512维特征向量)及转换步骤:首先使用torch2onnx将PyTorch模型转为ONNX格式,再通过RKNN工具进行量化转换。提供了完整的Python转换代码,包括预处理配置、模型加载、构建和导出过程。该方法能有效提升边缘设备上的人脸识别实时性,适用于门禁、考勤等应用场景。

J。 421

【Autosar COM】Marvell 88Q5050 以太网交换机驱动技术解析

本驱动实现了对Marvell 88Q5050交换机的全面控制,通过模块化设计满足AUTOSAR规范要求。增加DMA加速机制提升大数据量处理性能实现TSN(时间敏感网络)特性支持引入异步通知机制替代轮询操作增强安全特性,如MACsec支持该驱动架构为车载以太网交换机控制提供了可靠基础,其设计思想可推广到其他车载网络控制器开发中。随着车载网络技术的演进,驱动需持续迭代以支持新特性与更高通信速率需求。

1451

Python基于socket实现的TCP服务端

''' 基于socket实现的TCP服务端 ''' import socket # 建立socket对象 server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 如果服务器是一次性的,如果服务器结束后马上重新启动会出现一个错误,原因是地址和端口没有被释放 # OSError: [Errno 48] Address already in use # 如果想马上释放,要设置一下socket选项 server_socket.setsoc.

KK_2018的技术博客_程序员不止是程序员 2574

华为OD机试新系统真题 【简单表达式计算】

华为OD机试 新系统真题【简单表达式计算】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【简单表达式计算】题解

qq_45776114的博客 676

Socket之UDP服务器【Python】

UDP服务器不需要TCP服务器的那么多设置,因为UDP不是面向连接的,除了等待传入连接之外,其他的不用做什么工作。接下来,还是一段伪代码的描述。 ss=socket() #创建服务器的套接字 ss.bind() #绑定服务器的套接字 inf_loop: #服务器的无线循环 cs.ss.recvfrom()/ss.sendto() #通讯,接受和发送数据 ss.close() #关闭...

菜鸡小白的成长记录 779

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python 关于socket基础详解

对Python socket编程进行了高质量讲解,包括socket的基本概念、创建和关闭socket、发送和接收数据等内容

however的博客 713

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

socket基本双工,服务端与客户端消息发送,基于python3.7(系统win7)

话不多说,上图 我自己画的一个原理图,反正这样我能理解这个代码了,实现下面的功能 在这里插入代码片 服务端代码: from socket import * HOST = ‘’ PORT = 21222 BUFSIZ = 1024 ADDR = (HOST, PORT) server = socket(AF_INET, SOCK_STREAM) server.bind(ADDR) server.l...

weixin_44207181的博客 557

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 单例模式(Python)-------------------------------落雨成风
下一篇: 代码管理工具 SVN和git的区别-----------------------------落雨成风
落雨成风
博客等级 码龄8年 4粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值