网站关闭流程什么语言做网站简单

当前位置: 首页 > news >正文

网站关闭流程,什么语言做网站简单,连云港今天的新消息,lnmp 安装 wordpress文章目录 一. 计算机网络1. 网络的概念2. IP地址① IP地址的概念② IP地址的表现形式③ IP地址的作用④ 网络查询命令Ⅰ. ifconfig/ipconfigⅡ. ping 3. 端口和端口号的概念(计算机通信原理)① 端口的概念② 端口号的概念 4. socket套接字① socket概念② socket使用场景 二. T… 文章目录 一. 计算机网络1. 网络的概念2. IP地址① IP地址的概念② IP地址的表现形式③ IP地址的作用④ 网络查询命令Ⅰ. ifconfig/ipconfigⅡ. ping 3. 端口和端口号的概念(计算机通信原理)① 端口的概念② 端口号的概念 4. socket套接字① socket概念② socket使用场景 二. TCP1. TCP协议2. TCP的特点① 面向连接② 可靠传输 3. 数据的编码转换 三. TCP实战1. TCP客户端程序开发流程(五步走)2. TCP服务端程序开发流程(七步走)3. TCP服务端程序开发-多客户端4. TCP服务端程序开发-面向对象5. TCP端口复用6. TCP注意点 四. UDP协议(不靠谱) 一. 计算机网络

  1. 网络的概念 网络就是将具有独立功能的多台计算机通过通信线路和通信设备连接起来在网络管理软件及网络通信协议下实现资源共享和信息传递的虚拟平台 学习网络的目的就是能够编写基于网络通信的软件或程序通常来说就是网络编程。 2. IP地址 ① IP地址的概念 思考一个问题当我们在计算机中使用微信和你心中那个“她”聊天时信息是如何精准的传递到她的计算机中的呢 答是通过计算机的IP地址来实现的IP地址是分配给网络设备上网使用的数字标签它能够标识网络中唯一的一台设备好比现实中每个人都有一个手机号。 ② IP地址的表现形式 IP地址一共有4位第1位1~223第234位0~255 注意事项 ① IP地址分为两类 : IPv4和IPv6 ② IPv4是目前使用的IP地址 ③ IPv6是未来使用的IP地址 ③ IP地址的作用 通过IP地址找到网络中唯一一台设备然后可以跟这个设备进行数据通信。 ④ 网络查询命令 命令名说明ifconfig/ipconfig查看网卡信息ping检查网络是否正常 Ⅰ. ifconfig/ipconfig ① 172.16.47.199是在网络中的地址使用ifconfig主要是查看网卡对应网络中的IP地址。 ② 127.0.0.1表示本机地址提示如果和自己的电脑通信就可以使用该地址。 ③ 127.0.0.1该地址对应的域名localhost域名是ip地址的别名通过域名能解析出一个对应的ip地址。 Ⅱ. ping ① ping www.baidu.com 检查是否能上公网 ② ping 当前局域网的ip地址 检查是否在同一个局域网内 ③ ping 127.0.0.1 检查本地网卡是否正常 ping命令其结果是连续的操作如果想停止我们可以使用快捷键Ctrl C终止 3. 端口和端口号的概念(计算机通信原理) ① 端口的概念 问题如果在一台电脑上使用飞秋给另外一台电脑上的飞秋发送数据并且另外的这台电脑还运行着多个软件它是如何区分这多个软件把数据给飞秋的呢? 答其实每运行一个程序都会有一个端口想要给对应的程序发送数据找到对应的端口即可。端口就是传输数据的通道好比教室的门是数据传输必经之路。 ② 端口号的概念 而且每一个端口都会有一个对应的端口号操作系统为了统一管理这么多端口就对端口进行了编号这就是端口号端口号其实就是一个数字好比我们现实生活中的门牌号想要找到端口通过端口号即可如飞秋软件的默认端口号就是2345。 最终通信结果通过ip地址找到对应的设备通过端口号找到对应的端口然后通过端口把数据给应用程序。 ① 知名端口号 知名端口号是指众所周知的端口号范围从0到1023这些端口号一般固定分配给一些服务比如21端口分配给FTP文件传输协议服务22端口分配给SSH安全外壳协议主要用于远程连接与文件传输25端口分配给SMTP简单邮件传输协议服务80端口分配给HTTP服务443端口分配给HTTPS服务等等。 ② 动态端口号 一般程序员开发应用程序使用端口号称为动态端口号。 动态端口号的范围是从1024到65535如果程序员开发的程序没有设置端口号操作系统会在动态端口号这个范围内随机生成一个给开发的应用程序使用。 注意 当运行一个程序默认会有一个端口号当程序退出时所占用的这个端口号就会被释放。 设置端口建议8000以后 4. socket套接字 ① socket概念 到目前为止我们学习了IP地址和端口号使用这些我们就可以在茫茫的网络海洋中进行畅游了么 答案是否定的 那我们需要什么工具呢答socket套接字工具它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定一台计算机可以接收其他计算机的数据也可以向其他计算机发送数据。 这就好比现实中的电话当知道了对方的电话号码后需要使用电话才能进行通讯程序之间想要进行网络通信需要基于这个socket套接字socket套接字就是程序间进行网络通讯的工具。 ② socket使用场景 不夸张的说只要跟网络相关的应用程序或者软件都使用到了socket。 二. TCP

  2. TCP协议 之前我们学习了IP地址和端口号通过IP地址能够找到对应的设备然后再通过端口号找到对应的端口再通过端口把数据传输给应用程序这里要注意数据不能随便发送在发送之前还要选择网络传输方式传输协议保证程序之间按照指定的传输规则进行数据的通信。 TCP的英文全拼(Transmission Control Protocol)简称传输控制协议它是一种面向连接的、可靠的、基于字节流的传输层通信协议。 TCP通信步骤① 创建连接 ② 传输数据 ③ 关闭连接 TCP通信模型相当于生活中的’打电话‘在通信开始之前一定要先建立好连接才能发送数据通信结束要关闭连接。 2. TCP的特点 ① 面向连接 通信双方必须先建立好连接才能进行数据的传输并且双方都会为此连接分配必要资源用来记录连接的状态和信息。当数据传输完成后双方必须断开此连接以释放系统资源。 ② 可靠传输 ☆ TCP采用发送应答机制 通过TCP这种方式发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传送成功 ☆ 超时重传 发送端发送一个报文之后就会启动定时器如果指定时间内没有得到应答就会重新发送这个报文段 ☆ 错误校验 TCP用一个校验和函数来校验数据是否有错误在发送和接收时都要计算校验和☆ 流量控制和阻塞管理 流量控制用来避免发送端发送过快而使得接收方来不及接收 3. 数据的编码转换 在计算机网络中数据都是以二进制的形式进行传输的。所以在网络传输数据的时候数据需要先编码转化为二进制bytes数据类型 I Love Python 字符串 转换为二进制数据 网络中传输 数据转换方法说明 函数名说明encode编码 将字符串转化为字节码decode解码 将字节码转化为字符串 提示encoed()和decode()函数可以接受参数encoding是指在编解码过程中使用的编码方案。 字符串编码 str.encode(encoding”utf-8”)二进制解码: bytes.decode(encoding“utf-8”)三. TCP实战 客户端程序是指运行在用户设备上的程序服务端程序是指运行在服务器设备上的程序专门为客户端提供数据服务 主动发起建立连接请求的是客户端程序等待接受连接请求的是服务端程序 1. TCP客户端程序开发流程(五步走) import socketif name main:# 1、创建客户端套接字对象# AddressFamily: IP地址类型, 分为IPv4和IPv6#Type: 传输协议类型tcp_client_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 2、和服务器端套接字建立连接(参数必须是一个元祖)tcp_client_socket.connect((192.168.124.5, 8080))# 3、发送数据tcp_client_socket.send(hell, itheima.encode(encodingutf-8))# 4、接收数据recv_data tcp_client_socket.recv(1024).decode(utf-8)print(recv_data)# 5、关闭客户端套接字tcp_client_socket.close()2. TCP服务端程序开发流程(七步走) import socketif name main:# 1、创建服务器端套接字对象tcp_server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 2、绑定IP地址与端口号tcp_server_socket.bind((, 8080))# 3、开启监听tcp_server_socket.listen(128)# 4、等待接收客户端连接请求conn_socket, ip_port tcp_server_socket.accept()print(客户端IP端口, ip_port)# 5、接收数据recv_data conn_socket.recv(1024)print(接收到的数据, recv_data.decode(encodinggbk))# 6、发送数据conn_socket.send(客户端的数据已经收到了.encode(encodinggbk))# 7、关闭套接字conn_socket.close()tcp_server_socket.close()3. TCP服务端程序开发-多客户端

    导入模块

    import socket# 1、创建套接字对象 tcp_server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    2、绑定IP与端口

    tcp_server_socket.bind((, 8080))

    3、设置监听

    tcp_server_socket.listen(128)

    4、等待客户端连接

    while True:# 使用try…except捕获连接异常try:new_socket, ip_port tcp_server_socket.accept()while True:try:# 5、接收客户端发送过来的消息recv_data new_socket.recv(1024)recv_data recv_data.decode(gbk)print(f{ip_port}{recv_data})content input(服务器端消息).encode(gbk)new_socket.send(content)except ConnectionResetError:print(f{ip_port}客户端连接已经断开)breaknew_socket.close()except:print(出错退出服务器监听)break# 关闭套接字对象 tcp_server_socket.close()4. TCP服务端程序开发-面向对象

    导入模块

    import socket# 创建一个WebServer服务器端类 class WebServer(object):# 定义init()魔术方法用于对象初始化def init(self):# 创建套接字对象self.tcp_server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定IP与端口号self.tcp_server_socket.bind((, 8090))# 设置监听self.tcp_server_socket.listen(128)# 定义一个handle_client_request()def handle_client_request(self, new_socket, ip_port):# 接收客户端消息recv_data new_socket.recv(1024)recv_data recv_data.decode(gbk)print(f{ip_port}客户端发送过来的消息{recv_data})# 返回发送消息给客户端content 信息已收到overover.encode(gbk)new_socket.send(content)# 处理完成后关闭新套接字对象# new_socket.close()# 定义一个start方法用于启动WebServer接收客户端连接def start(self):while True:# 等待客户端连接new_socket, ip_port self.tcp_server_socket.accept()# 定义一个方法用于接收和发送消息self.handle_client_request(new_socket, ip_port)# 创建程序执行入口实例化WebServer类生成对象 if name main:# 实例化对象ws WebServer()# 调用自身方法用于启动服务ws.start()5. TCP端口复用 import socketif name main:# 1、创建服务器端套接字对象tcp_server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 设置端口复用tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)# 2、绑定IP地址与端口号tcp_server_socket.bind((, 8888))# 3、开启监听tcp_server_socket.listen(128)# 4、等待接收客户端连接请求conn_socket, ip_port tcp_server_socket.accept()print(客户端IP端口, ip_port)# 5、接收数据recv_data conn_socket.recv(1024)print(接收到的数据, recv_data.decode())# 6、发送数据conn_socket.send(客户端的数据已经收到了.encode())# 7、关闭套接字conn_socket.close()tcp_server_socket.close()6. TCP注意点 四. UDP协议(不靠谱) TCP可靠协议数据可以100%传输 日常通信、数据传输一定要保证可靠性使用TCP。 UDP不可靠协议只能保证速度但是没办法保证数据传输质量发送5M 接收3.75M 有些情况下我们对数据的质量没有要求可以考虑使用UDP如视频通话。