当前位置: 首页 > 后端技术 > Python

TCPsockets的简单理解

时间:2023-03-26 11:41:59 Python

sockets其实和座机电话没什么区别。手机可以同时拨打或接听电话,但是对于socket来说,拨号和接听是有区别的。描述Python用来接听的socket创建过程1.调用socket函数时的对话(安装电话)问:“接电话需要准备什么”?答:“当然是电话!”安装只能用电话Phone,创建一个相当于电话的socketimportsockets=socket.socket()2.调用bind函数时的对话(分配电话号码)Q:“Whatisyourphonenumber?”答:“我的电话号码是123-1234”的插座也是如此。就像给电话分配电话号码一样(虽然电话号码实际上并没有分配给电话),使用下面的函数为创建的套接字分配地址信息(IP地址和端口号)。importsockets=socket.socket()host='127.0.0.1'port=1234#bind分配地址信息s.bind((host,port))调用bind函数为socket分配地址??后,所有准备工作接电话基本完成。接下来需要连接电话线等待来电3.调用listen函数时的对话(连接电话线)问:“电话设置好后才需要连接电话线吗?”回答:“是的,接听就行”手机接通电话线后,电话会进入可接听状态,其他人可以拨打电话请求接听。同理,插座需要进入可以接受连接的状态importsockets=socket.socket()host='127.0.0.1'port=1234s.bind((host,port))#Waitingforincomingcallss.listen(5)接通电话线后,如果有人来电,会响铃,拿起听筒才能接听电话。4.调用accept函数时的对话(拿起话筒)问:“电话响了,我该怎么办?”回答:“你真的不知道吗,拿起话筒接听吧!”拿起话筒就意味着收到了对方的连接请求。套接字也是如此。如果有人为了完成数据传输而请求连接,则需要调用下面的accept函数importsockets=socket.socket()#处理请求s.accept()接受连接请求。socket的创建过程可以这样组织第一步:调用socket函数创建socket第二步:调用bind函数分配IP地址和端口号第三步:调用listen函数切换到可以接收的状态requests第四步:调用accept函数接受连接请求Python实现一个简单的服务器端importsockets=socket.socket()host='127.0.0.1'port=1234s.bind((host,port))s.listen(5)whileTrue:c,addr=s.accept()print('connectionfrom',addr)c.send('helloworld'.encode())c.关闭()