一.前言
接着上期的介绍,现在我们开始利用现有的代码让客户端对服务器发出请求并完成简单的通信。
二.TCP协议通信流程
在开始这项工作之前,我们认识一下客户端向服务器发送请求并完成连接的一个Socket TCP通信执行流程。
1.‘三次握手’
当客户端向服务器发送连接请求时,两者之前会发送三次文段,也就是我们俗话说的“三次握手”。
它的具体过程是:
客户端主动向服务器发送连接请求(文段1)。
处于监听状态的服务器被动的接收了来自客户端的请求,并将确认的连接请求返回给客户端(文段2)。
最后客户端也将确认的连接请求返回给了服务器(文段3) 表示客户端完成了与服务器的连接。两端建立连接即可进行通信。
2. ‘四次挥手’
当想要断开服务器连接时,也是客户端主动地发出断连请求,两者之前会发送四次文段。这就是我们所说的“四次挥手”。具体过程:
客户端首先向服务器发送离线请求,客户端进入FIN_WAIT1状态(文段1)。
服务器接收到请求后并将确认返回给客户端,服务器进入CLOSE_WAIT状态。收到回应的客户端进入FIN_WAIT2状态 ...
Python Socket TCP通信初识一.什么是Socket ?
Socket(套接字):一种独立于协议的网络编程接口,它就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口。
我们使用的任何一个网络通信工具都是以Socket为底层编写出来的,如QQ,WeChat,Email,浏览器等。利用Socket我们可以完成很多与网络通信有关的操作。
二.Socket多人聊天
最近突发奇想,想学一下Python的Socket技术,设计一款属于自己的聊天工具。因为最近太闲了,Python的干货也看不下去了,基本上,那些语法基础,函数,类之类的都已经掌握了,现在先想来点新鲜的。2.网上还是有很多关于Python Socket的教程的,我也总结一些,给大家和自己也写一份教程,加深记忆。
三. 利用Python 开发Socket多人聊天1.Socket TCP协议开发
基本上TCP ...