python搭建网站和服务器哪个容易

python搭建网站和服务器哪个容易,第1张

python搭建网站和服务器,服务器更容易。根据查询相关公开信息显示:网站搭建的意思就是使用各类编程语言去制作可供别人访问的站,很复杂,专业人士才会搭建网站,故python搭建网站和服务器,服务器更容易。

使用标准库中的socket接口写一个Python服务器。

需要对网络传输,特别是TCP/IP协议和socket有一定的了解。

socket是进程间通信的一种方法,它是基于网络传输协议的上层接口。

socket有许多种类型,比如基于TCP协议或者UDP协议(两种网络传输协议),其中又以TCP socket最为常用。

TCP socket与双向管道(duplex PIPE)有些类似,一个进程向socket的一端写入或读取文本流,而另一个进程可以从socket的另一端读取或写入,比较特别是,这两个建立socket通信的进程可以分别属于两台不同的计算机。

TCP协议,就是规定了一些通信的守则,以便在网络环境下能够有效实现上述进程间通信过程。

双向管道(duplex PIPE)存活于同一台电脑中,所以不必区分两个进程的所在计算机的地址,而socket必须包含有地址信息,以便实现网络通信。

一个socket包含四个地址信息: 两台计算机的IP地址和两个进程所使用的端口(port)。IP地址用于定位计算机,而port用于定位进程 (一台计算机上可以有多个进程分别使用不同的端口)。

下面的例子是多线程实现的socket服务器:

import socketimport threadingclass ThreadedServer(object):

def __init__(self, host, port):

self.host = host

self.port = port

self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

self.sock.bind((self.host, self.port))

def listen(self):

self.sock.listen(5)

while True:

client, address = self.sock.accept()

client.settimeout(60)

threading.Thread(target = self.listenToClient,args = (client,address)).start()

def listenToClient(self, client, address):

size = 1024

while True:

try:

data = client.recv(size)

if data:

# Set the response to echo back the recieved data

response = data

client.send(response)

else:

raise error('Client disconnected')

except:

client.close()

return Falseif __name__ == "__main__":

while True:

port_num = input("Port? ")

try:

port_num = int(port_num)

break

except ValueError:

pass

ThreadedServer('',port_num).listen()


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/182338.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存