社区
脚本语言
帖子详情
向大侠们请教,Python可以直接创建原始套接字吗
jackyu020621
2010-04-05 10:07:10
向大侠们请教,Python可以直接创建原始套接字吗
...全文
174
3
打赏
收藏
向大侠们请教,Python可以直接创建原始套接字吗
向大侠们请教,Python可以直接创建原始套接字吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fibbery
2010-04-05
打赏
举报
回复
http://download.csdn.net/source/1896179
fibbery
2010-04-05
打赏
举报
回复
去精华区找找看,有没有Python网络编程。
fibbery
2010-04-05
打赏
举报
回复
Python 套接字
让我们先来考察一下原始 Python 套接字。因为没有协议开销(除了您自己添加的东西外),所以您可以认为这在您的控制下。这是有关原始套接字编程的优点;缺点是您将需要担心许多其他重要的问题,例如:
需要开发和维护的代码多得多。
连接过程中缺乏数据完整性(尽管单 CORBA 提供的就不止 TCP 本身)。
低级别的错误状态(即,错误的消息协议、连接断开)。
那么,让我们来看看应用程序吧。这个应用程序的所有示例代码都可以在 此处获得。您在下载了压缩文档并对其进行解压缩后,您将拥有四个子目录。我们要看的第一个子目录名为 python 。为 TCP 通信编写您自己的协议的好处之一就是,您无需安装额外的第三方库。这可以最大限度地降低分发包给您带来的困扰。
在示例分发包中,文件 python/server.py 是您将用来接收原始 TCP 请求的服务器。它建立在 Python 自带的标准的 SocketServer 模块的基础上。在您考察代码时,要注意几件事情。第一件事情是要进行绝对无错检查。对于每种消息类型(以及对于不存在的消息类型),客户机都需要彻底检查从服务器接收的每个字节。第二件要注意的事情是处理程序被设计成处理单个请求。当您开始非常快速地发送许多整数时,因为客户机将不得不为它发送的每个整数创建一个新的连接,所以这样的设计将使您的小套接字服务器处于不利的境地。您本来可以将这台服务器编写成在单个连接中处理多个请求,但是那样您将不得不以 start 消息和 stop 消息的形式向您的服务器添加额外的消息类型支持,以便服务器知道何时停止侦听连接。对于这个服务器文件最后一件要注意的事情就是没有任何形式的连接超时。按照这台服务器配置的方式,一台恶意的客户机可以连接到这台服务器上,并且可以发送一个非常大的字符串,结果将使整个服务器瘫痪。
要启动服务器,只需在一个窗口中执行 server.py 脚本即可,然后立即执行名为 time-client.py 的测试客户机。这将把时间开销信息打印到执行了客户机脚本的终端。客户机完成任务后,您就可以按 Ctrl-C 停止服务器。要测试消息开销,您要使用 tcpdump ;在第三个窗口中运行它,然后运行脚本 size-client.py (此时服务器仍在运行中)。这两个脚本的运行结果如下面的表 1 所示。
C# For Unity系列之入门篇
你想当“李逍遥”式的“
大侠
”吗? 这里无需计算机基础,无需编程经验,你也不必是计算机专业的在校大学生....只要爱好游戏,怀揣梦想! 有一定自主学习能力,跟着刘老师从“编程小白”修炼为游戏研发“大虾”吧!!...
(经典中的经典!)IT学生解惑真经(转),真会有人看完这15万字吗
群号:853665602,有什么问题都可以在里面询问交流,还有博主整理的很多资料,需要大家的加入,才能壮大这个组织!群里面有很多的我整理的内部资源:Java题库,大厂面试题,学习大纲,自学课程大纲等,希望欢迎到很...
ARM经典300问
2019独角兽企业重金招聘
Python
工程师标准>>> ...
IT解惑真经
同学们可能已经看到了我在上边给“出路”两个字加了双引号,的确,考研不是本科生的“出路”,因为“考研、读研”只是过程,不是出路,除非你想一辈子考呀考,以死前考上“雅典娜研究生学位”为目标,否则一切过程的...
黑马程序员-IT学生解惑真经-想做程序员或者正在迟疑的同学可以看一下,很有帮助的一篇文章
--------韩愈《师说》 ...接下来要学习的内容就是《计算机组成原理与体系结构》。其实我特别奇怪,我在写学习路线1(也就是前一篇文章)的时候,有读者认为在学习C语言之前,或者在学习其他专业课程之前,...
脚本语言
37,720
社区成员
34,239
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章