导航:首页 > 编程语言 > pythonsocket视频教程

pythonsocket视频教程

发布时间:2024-11-14 14:56:44

python socketserver和socket的区别

区别:

1.首先介绍下socket

socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也
称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一 般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原 意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务

内部调用流程为:

启动服务端程序

执行 TCPServer.init方法,创建服务端Socket对象并绑定 IP 和 端口

执行 BaseServer.init方法,将自定义的继承自SocketServer.BaseRequestHandler 的类 - MyRequestHandle赋值给 self.RequestHandlerClass

执行 BaseServer.server_forever 方法,While 循环一直监听是否有客户端请求到达 ...
当客户端连接到达服务器

执行 ThreadingMixIn.process_request 方法,创建一个 “线程” 用来处理请求

执行 ThreadingMixIn.process_request_thread 方法

执行 BaseServer.finish_request 方法,执行 self.RequestHandlerClass() 即:执行 自定义 MyRequestHandler 的构造方法(自动调用基类BaseRequestHandler的构造方法,在该构造方法中又会调用 MyRequestHandler的handle方法)

ForkingTCPServer

ForkingTCPServer和ThreadingTCPServer的使用和执行流程基本一致,只不过在内部分别为请求者建立 “线程” 和 “进程”。

⑵ python socket如何实现一个服务器对多个客户端进行交互。

使用多线程,下面的代码,简单实现一个多线程的web服务器:

#coding=utf-8
importsocket
importthreading
fromtimeimportsleep
defresponse(sock,addr):
print"收到请求"
data=sock.recv(1024)
printdata
sock.send(html)
sock.close()
html='''HTTP/1.1200OK Content-Type:text/html Helloworld!'''
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('0.0.0.0',80))
s.listen(50)
print"正在等待连接……"
while1:
sleep(0.1)
sock,addr=s.accept()
t=threading.Thread(target=response,args=(sock,addr))
t.start()
阅读全文

与pythonsocket视频教程相关的资料

热点内容
程序员图鉴 浏览:534
东营程序员 浏览:712
发票上传参数没置服务器地址 浏览:41
程序员网上接单能挣多少钱 浏览:175
稀有传奇手游源码 浏览:547
u盘里的cd驱动加密是什么 浏览:414
遗传算法编码长度 浏览:974
pe装服务器需要注意什么 浏览:320
foreach计数php 浏览:525
php自连接 浏览:298
程序员被喷了怎么办 浏览:711
android消息数 浏览:263
为什么在服务器里输不了指令 浏览:31
程序员那么可爱前女友剧情介绍 浏览:104
centosjava环境变量配置 浏览:555
服务器主板被锁如何恢复 浏览:132
xpc语言编程软件 浏览:823
光遇安卓怎么解限制 浏览:302
元气骑士老版源码 浏览:106
助眠解压音频小姐姐口腔音 浏览:236