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

热点内容
程序员要拒绝吗 浏览:124
下期视频怎么解压 浏览:381
方法命令函数指令 浏览:128
视频已加密请输入密码确认 浏览:359
香港中产程序员 浏览:917
python适合什么编译器 浏览:844
双强力夹文件夹使用方法 浏览:330
程序员瑜伽教学 浏览:809
python网页分析工具 浏览:689
服务器如何手动关机 浏览:47
火柴盒app什么都加载不出来 浏览:321
为什么腾讯视频app不显示缓存列表 浏览:408
android网络服务器 浏览:972
618程序员男扮女装 浏览:997
框架梁为什么是非加密区 浏览:993
什么app能把删了的照片恢复 浏览:360
公务员说程序员工资 浏览:400
怎样设置自己手机号码加密 浏览:700
服务器怎么设置登录地址 浏览:997
日本监控摄像头用什么APP 浏览:58