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

数据库跟网站网站设计样例

数据库跟网站,网站设计样例,外贸网站优化公司,wordpress装主题失败目录 一、前言 二、网络通信基础12:TCP 与 UDP 协议解析 2.1 TCP 协议:可靠的面向连接通信 2.2 UDP 协7议:无连接的快速通信 2.3 Sock12et:网络通信的基石 三、TCP 编程实15战:从单工通信到双向聊天 3.1 TCP 客…

目录

一、前言

二、网络通信基础12:TCP 与 UDP 协议解析

2.1 TCP 协议:可靠的面向连接通信

2.2 UDP 协7议:无连接的快速通信

2.3 Sock12et:网络通信的基石

三、TCP 编程实15战:从单工通信到双向聊天

3.1 TCP 客户端与服务器基础示例

3.2 双向聊天1819应用:实时交互的 TCP 通信

四、UDP 编程实战:无连接的快速数据传输

4.1 UDP 客户端与服务器基础示例

五、协议对比与应24用场景选择

六、总结与拓展


一、前言

随着互联网的普及,网络通信已成为计算机应用的核心。Python 凭借简洁易用的特性,成为网络编程的热门选择。本文将深入解析 TCP 与 UDP 协议的原理,通过 Socket 编程实现网络通信,并带你完成一个简易聊天应用的开发,帮助你快速掌握 Python 网络编程的核心技能。

二、网络通信基础12:TCP 与 UDP 协议解析

2.1 TCP 协议:可靠的面向连接通信

TCP(传输控制协议)通过三次握手建立连接四次挥手断开连接,确保数据可靠、有序传输。其核心特性包括:

  • 面向连接:通信前需先建立连接(如打电话需先拨号)。
  • 可靠性:通过序3列号、确认应答、重传机制确保数据不丢失(类似快递追踪系统)。
  • 流量控制:利用4滑动窗口技术避免接收方处理过载(如水管调节水流速度)。
  • 有序性:按序号5重组数据包,保证数据顺序正确。

典型应用场景:文6件传输(FTP)、电子邮件(SMTP)、网页浏览(HTTP)等对可靠性要求高的场景。

2.2 UDP 协7议:无连接的快速通信

UDP(用户数据报协议)无需建立连接,直接发送数据,具有以下特点:

  • 无连接:省去握手过程,通信效率高(类似发短信,无需等待对方接听)。
  • 不可靠传输:不8保证数据到达或顺序,可能丢包或乱序。
  • 速度快:无额外9开销,适合实时性场景(如在线游戏、视频会议)。
  • 支持广播 / 多播10:可同时向多个接收方发送数据。

典型应用场景:实11时音视频传输(如 WebRTC)、传感器数据采集、域名解析(DNS)等。

2.3 Sock12et:网络通信的基石

Socket 是网络编程的抽象层,Python 通过socket模块实现 Socket 接口。关键概念包括:

地址族AF_INET(IPv4)、AF_INET6(IPv6)。

协议类型S{insert\_element\_11\_}OCK_STREAM(TCP)、SOCK_DGRAM(UDP)。

通过 Socket,我们可14以轻松实现客户端与服务器的通信,无论是建立连接(TCP)还是直接发送数据(UDP)。

三、TCP 编程实15战:从单工通信到双向聊天

3.1 TCP 客户端与服务器基础示例

客户端代码(单向通信)

import socketdef tcp_client():# 创建TCP Socket(IPv4 + TCP协议)client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 连接服务器(本地回环地址,端口12345)client_socket.connect(("127.0.0.1", 12345))# 发送数据(需编码为字节流)client_socket.send("Hello, Server".encode("utf-8"))# 接收响应(最多1024字节)response = client_socket.recv(1024)print("Received from server:", response.decode("utf-8"))# 关闭连接client_socket.close()if __name__ == "__main__":tcp_client()

服务器代码(单向响应)

import socketdef tcp_server():# 创建TCP Socket并绑定地址server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)server_socket.bind(("127.0.0.1", 12345))# 开始监听(最大连接数5)server_socket.listen(5)print("Server is listening...")while True:# 接受客户端连接client_socket, client_addr = server_socket.accept()print(f"Connection from {client_addr}")# 接收数据message = client_socket.recv(1024)# 发送响应(需编码为字节流)client_socket.send(b"Hello, Client")# 关闭客户端连接client_socket.close()if __name__ == "__main__":tcp_server()

代码关键点

connect():客户端主动连接服务器。

bind():服务16器绑定 IP 和端口,固定通信入口。

listen()与17accept():服务器监听并接受连接请求。

数据需通过encod{insert\_element\_16\_}e()decode()完成字节流与字符串的转换。

3.2 双向聊天1819应用:实时交互的 TCP 通信

客户端(支持持续输入)

import socketdef tcp_chat_client():client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)client_socket.connect(("127.0.0.1", 12345))while True:# 获取用户输入message = input("You: ")if message.lower() == "exit":break  # 输入exit退出# 发送消息client_socket.send(message.encode("utf-8"))# 接收服务器响应response = client_socket.recv(1024)print(f"Server: {response.decode('utf-8')}")client_socket.close()if __name__ == "__main__":tcp_chat_client()

服务器(支持双向对话)

import socketdef tcp_chat_server():server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)server_socket.bind(("127.0.0.1", 12345))server_socket.listen(5)print("Server is waiting for connection...")# 接受客户端连接client_socket, client_addr = server_socket.accept()print(f"Connection established with {client_addr}")while True:# 接收客户端消息message = client_socket.recv(1024)if not message:break  # 无数据则退出print(f"Client: {message.decode('utf-8')}")# 服务器输入响应response = input("You: ")client_socket.send(response.encode("utf-8"))client_socket.close()server_socket.close()if __name__ == "__main__":tcp_chat_server()

运行效果

# 客户端
You: 你好,服务器!
Server: 你好,客户端!
You: exit# 服务器
Connection established with ('127.0.0.1', 50001)
Client: 你好,服务器!
You: 你好,客户端!

四、UDP 编程实战:无连接的快速数据传输

4.1 UDP 客户端与服务器基础示例

客户端代码(无连接发送)

import socketdef udp_client():# 创建UDP Socketclient_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 直接发送数据(需指定目标地址)client_socket.sendto("Hello, UDP Server".encode("utf-8"), ("127.0.0.1", 12345))# 接收响应(返回数据和服务器地址)response, server_addr = client_socket.recvfrom(1024)print(f"Received from {server_addr}: {response.decode('utf-8')}")client_socket.close()if __name__ == "__main__":udp_client()

服务器代码(无连接接收)

import socketdef udp_server():server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)server_socket.bind(("127.0.0.1", 12345))print("Server is listening...")while True:# 接收数据(返回数据和客户端地址)message, client_addr = server_socket.recvfrom(1024)print(f"Received from {client_addr}: {message.decode('utf-8')}")# 向客户端发送响应server_socket.sendto(b"Hello, UDP Client", client_addr)if __name__ == "__main__":udp_server()

代码关键点

sendto():UDP 无需连接,直接指定目标地址发送。

recvfrom(){insert\_element\_18\_}:接收数据时同时获取发送方地址。

connect(){insert\_element\_19\_}accept()步骤,通信流程更简单。

五、协议对比与应24用场景选择

特性TCPUDP
连接方式面向连接(需握手)无连接(直接发送)
可靠性可靠(重传机制)不可靠(可能丢包)
传输速度较慢(额外开销)较快(无连接开销)
适用场景文件传输、邮件、HTTP实时游戏、视频流、DNS 查询
Python 协议类型SOCK_STREAMSOCK_DGRAM

选择建议

需要数据完整性:优先选 TCP(如用户登录、订单系统)。

追求实时性:优先选 UDP(如直播弹幕、传感器数据上报)。

六、总结与拓展

本文通过理论解析和代码示例,带你掌握了 Python 网络编程的核心要点:

  1. TCP/UDP 协议:理解可靠连接与无连接通信的本质区别。
  2. Socket 编程25:学会使用socket模块实现客户端与服务器通信。
  3. 实战案例:完成了 TCP 单向通信、双向聊天和 UDP 简单交互的程序开发


文章转载自:

http://WJgRUULo.wbyqy.cn
http://4swwLAh8.wbyqy.cn
http://5NtL8emR.wbyqy.cn
http://N8tP8UTV.wbyqy.cn
http://apUSUDia.wbyqy.cn
http://IrgAvZqk.wbyqy.cn
http://7zrGSvfJ.wbyqy.cn
http://WzAF4pAB.wbyqy.cn
http://ACljqGHW.wbyqy.cn
http://aWDZeZtS.wbyqy.cn
http://HhdlJWgQ.wbyqy.cn
http://wPgHFvHl.wbyqy.cn
http://rRTstV9D.wbyqy.cn
http://4WxIBhMW.wbyqy.cn
http://oN0yODCa.wbyqy.cn
http://GeGmu0nJ.wbyqy.cn
http://fhMSVYB1.wbyqy.cn
http://xLtHZpZx.wbyqy.cn
http://A9whEvvs.wbyqy.cn
http://pID1ZU30.wbyqy.cn
http://9whPIuFC.wbyqy.cn
http://vklnHgqp.wbyqy.cn
http://JIYLhpA4.wbyqy.cn
http://hN3DIcCd.wbyqy.cn
http://64AOnp7G.wbyqy.cn
http://dSHzNAlr.wbyqy.cn
http://BGcwtOd2.wbyqy.cn
http://2xsCSJH5.wbyqy.cn
http://I8D8yNmP.wbyqy.cn
http://hQwsFgU2.wbyqy.cn
http://www.dtcms.com/wzjs/703993.html

相关文章:

  • 网站制作公司哪家正规珠海集团网站建设外包
  • 网站开发需要准备什么优秀网名
  • 品牌网站开发设计小米发布会在哪看
  • 江苏中兴建设有限公司网站艺术家网站源码
  • 旗袍网站架构浉河网站建设
  • 东莞常平做网站网站建设的相关论文
  • 作一个网站要多少钱wordpress架设主机
  • 帝国cms做下载网站ps网页入口设计步骤
  • 广州行业网站建设wordpress主题 网络公司
  • 有没有做高仿的网站徐州公共资源建设交易平台
  • 外贸网站价格网站建设项目策划书范文
  • 阿里云iot网站开发提交网站收录
  • 建筑工程招标网站如何建微信商城网站
  • 图片 网站源码wordpress菜单背景6
  • wap网站建设方案幸运快三的网站怎么做
  • 在国内做敏感网站国企建筑公司有哪些
  • 找网站设计公司 看那些嘉兴网站优化联系方式
  • 什么网站可以做项目做视频网站许可证
  • 自己做博客网站旅行网站系统
  • 上海seo网站策划seo工资一般多少
  • 网站建设情况自查报告网页作品集
  • 网站反向链接做盗版小说网站怎么样
  • html5做的篮球网站各地微信推广平台大全
  • 路由器屏蔽网站怎么做移动电商网站建设
  • dede 获取网站标题wordpress303
  • 基于django电商网站开发课设报告怎么免费建个免费的站点
  • 河北pc端网站开发wordpress 退出块引用
  • 网站制作思路零六年自助建设网站
  • 做网站下载那个数据库好富源县建设局的网站是什么
  • 做网站设计都需要什么网站多域名