导航:首页 > 编程语言 > 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视频教程相关的资料

热点内容
全加密区腰筋拉筋根数怎么算 浏览:617
激光切割编程学习 浏览:390
单片机的通信方式 浏览:686
安卓气泡通知有什么用 浏览:268
智囊pdf 浏览:96
高中文件夹哪种好 浏览:880
人工智障算法治疗 浏览:976
android图片变灰 浏览:270
linuxvi下一个 浏览:977
安卓手机的应用锁怎么解 浏览:737
linux增加路径 浏览:851
sql身份证号最后四位加密 浏览:535
xp系统表格加密 浏览:858
光遇安卓军大衣什么时候上线 浏览:842
android应用商店图标 浏览:347
java计算圆的面积 浏览:645
应用编译优化recovery 浏览:579
域控命令n 浏览:263
php导出文件 浏览:15
谷歌地图网页版无法连接服务器地址 浏览:298