运用python进行网络编程

运用python进行网络编程

ID:34454951

大小:160.40 KB

页数:3页

时间:2019-03-06

运用python进行网络编程_第1页
运用python进行网络编程_第2页
运用python进行网络编程_第3页
资源描述:

《运用python进行网络编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据电脑编程技巧与维护运用Python进行网络编程王丽(解放军第二十三医院,乌鲁木齐830002)摘要:介绍了网络编程的基本概念和步骤,介绍了网络编程的服务端模型,说明了如何应用Python来进行网络程序的开发,详细介绍了select服务器模型,并通过一个简单实例说明select服务器模型的应用步骤。关键词:Socket;select;servel-;clientNetworkProgrammingUsingPythonWANGLi(People’sLiberationArmy23hospital

2、s,Urumqi830002)Abstract:Thispaperfirstintroducesthebasicconceptsofnetworkprogrammingandthesteps,thenpresentedthenetworkserverprogrammingmodel,andfinallyshowshowtousepythontodevelopthenetworkprogram,anddescribetheselectservermodelindetail,thenciteasimple

3、instancetoillustratetheservermodelofselect.Keywords:Socket;select;server;clientl网络编程简介1.1基本概念(1)SocketSocket的英文原义是“孔”或“插座”。Socket非常类似于电话插座。以一个国家级电话网为例,电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于Socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个S

4、ocket;同时要知道对方的号码,相当于对方有一个固定的Socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。对方假如在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向Socket发送数据和从Socket接收数据。通话结束后,~方挂起电话机相当于关闭Socket,撤消连接。(2)IP地址用来唯一标识网络上的主机

5、,有IP4和IP62种。(3)端口网络中可以被命名和寻址的通信端口,是操作系统可分配的一种资源。(4)协议常见的连接层协议分为TCP和UDP2种。TCP是面向连接的,UDP是面向无连接的。(5)连接两个进程间的通信链路称为连接。一般用一个五元组(本机ip、本机port、对端ip、对端pert、协议)表示~个收稿日期:2010-04—05—86一Socket连接。1.2服务器模型Linux系统网络服务器模型主要有3种:并发服务器、循环服务器和10多路复用服务器。(1)TCP循环服务器:首先TCP服务器接

6、受一个客户端的连接请求,处理连接请求,在完成这个客户端的所有请求后断开连接,然后再接受下一个客户端的请求。(2)TCP并发服务器:并发服务器的思想是每一个客户端的请求并不由服务器的主进程直接处理,而是服务器主进程创建一个子进程来处理。(3)多路复用I/O并发服务器:创建子进程会带来系统资源的大量消耗,为了解决这个问题,采用多路复用I/O模型的并发服务器。多路复用I/O可以解决资源限制问题,此模型实际上是将UDP循环模型用在了TCP上面。2运用Python进行网络编程2.1服务端/客户端示例(1)客户端

7、舟!/usr/bin/python释client.PYimportsocket#初始化socket,采用TCP流sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.connect(("localhost",8080))舟连接本机8080端口data=7helloworld.7sock.send(data);#发送rsp=sock.rP.圮v(8192)撑接收print"Rcvd:7,rspsock.close()#客户端主动关闭连接(2)

8、循环服务器样!/usr/bin/python万方数据NETWORKANDCOMMUNICATl0N网络与通信importsocketsock=SOCket.socket(socket.AFINET.socket.SOCKSTREAMlsock.bind((~,8080))#绑定到本机的8080端口sock.1isten(5)#开始侦听,并设置侦听队列为5try:whileTrue:#循环接受连接newSock,address=sock.accept()样

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。