• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:简单理解TCP套接字

python 搞代码 3年前 (2022-02-20) 27次浏览 已收录 0个评论

套接字实际上和固定电话并无太大区别,。电话机能够同时用来拨打或接听,但对套接字而言,拨打和监听是有区别的。

形容Python用于接听的套接字创立过程

1.调用 socket函数(装置电话机)时进行的对话
  • :”接电话须要筹备什么”?
  • :“当然是电话机!”

有了电话机能力装置电话,创立相当于电话机的套接字

import socket
s = socket.socket()
2. 调用bind函数(调配电话号码)时进行的对话
  • :”请问您的电话号码是多少?”
  • :”我的电话号码是123-1234″

套接字同样如此。就像给电话机调配电话号码一样(尽管不是真的把电话号码给了电话机),利用以下函数给创立好的套接字调配地址信息(IP地址和端口号)

import socket
s = socket.socket()
host = '127.0.0.1'
port = 1234
# bind 调配地址信息
s.bind((host,port))

调用bind函数给套接字调配地址后,就基本上实现了接电话的所有筹备工作。接下来须要连贯电话线并期待复电

3. 调用listen函数(连贯电话线)时进行的对话
  • :“已架设完电话机后是否只须要连贯电话线”
  • :“对,只需连贯就能接听电话”

一连贯电话线,电话机就转为可接听状态,这时其他人能够拨打电话申请连贯到该机。同样,须要把套接字转化为可接管连贯的状态。

import socket

s = socket.socket()
host = '127.0.0.1'
port = 1234
s.bind((host,port))
# 期待复电
s.listen(5)

连贯好电话线后,如果有人拨打电话就会响铃,拿起话筒后能力接听电话。

4.调用accept函数(拿起话筒)时进行的对话
  • :“电话铃响了,我该怎么办?”
  • :“难道您真不知道,拿起话筒接听啊!”

拿起话筒意味着接管了对方的连贯申请。套接字同样如此,如果有人为了实现数据传输而申请连贯,就须要调用以下函数进行受理

import socket

s = socket.socket()
# 解决申请
s.accept()

承受连贯申请的套接字创立过程可整顿如下

  • 第一步:调用socket函数创立套接字
  • 第二步:调用bind函数调配IP地址和端口号
  • 第三步:调用listen函数转为可接管申请状态
  • 第四步:调用accept函数受理连贯申请

python 实现一个简略的服务器端

import socket

s = socket.socket()

host = '127.0.0.1'

port = 1234

s.bind((host, port))
s.listen(5)

while True:
    c, addr = s.accept()
    print('connection from', addr)
    c.send('hello world'.encode())
    c.close()


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:简单理解TCP套接字
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址