http中如何建立TCP连接
本篇文章为大家展示了http中如何建立TCP连接,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联专注于保山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供保山营销型网站建设,保山网站制作、保山网页设计、保山网站官网定制、小程序定制开发服务,打造保山网络公司原创品牌,更为您提供保山网站排名全网营销落地服务。
1. 建立TCP连接
1.1 TCP 服务端与客户端
import socket
# 指定协议
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 让端口可以重复使用
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# 绑定ip和端口
server.bind(('0.0.0.0', 8080))
# 监听
server.listen(1)
# 等待消息
clientsocket, address = server.accept()
# 接收消息
data = clientsocket.recv(1024)
# 关闭socket
clientsocket.close()
server.close()
客户端代码的编写也十分容易
import socket
import time
host = '127.0.0.1'
port = 8081
addr = (host, port)
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 连接server
client.connect(addr)
# 向server发送数据
client.send(b'I am client')
# 接收server返回的数据
revcdata = client.recv(1024)
# 收到的数据都是bytes类型
print(revcdata.decode(encoding='utf-8'))
time.sleep(1)
client.close()
建立TCP的过程,有一个重要的概念---3次握手。这个问题经常在面试中被用来考察应聘者对于socket的了解程度。
1.2 什么是TCP3次握手
客户端与服务端在建立正是的连接之前,要互相试探着询问对方是否愿意与自己建立连接
客户端向服务端发送syn包,所谓的syn包,是指SYN为1
服务端收到syn包以后,发送syn+ack包,这时,SYN和ACK都是1
客户端向服务端发送ACK包,ACK标识位是1
1.3 为什么是3次握手,而不是2次
上述内容就是http中如何建立TCP连接,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
本文题目:http中如何建立TCP连接
浏览地址:http://scyanting.com/article/jpgoee.html