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

想做网站策划怎么做成都网站建设方案外包

想做网站策划怎么做,成都网站建设方案外包,如何将图片插入网站,巩义做网站的目录 🌟 模块概述🧬 模块定位📦 导入方式 🛠️ 核心API详解1️⃣ socket对象创建2️⃣ 关键方法速查 🔌 TCP/UDP编程流程对比🚥 TCP通信流程🚀 UDP通信流程 💻 实战代码示例案例1&am…

目录

    • 🌟 模块概述
      • 🧬 模块定位
      • 📦 导入方式
    • 🛠️ 核心API详解
      • 1️⃣ socket对象创建
      • 2️⃣ 关键方法速查
    • 🔌 TCP/UDP编程流程对比
      • 🚥 TCP通信流程
      • 🚀 UDP通信流程
    • 💻 实战代码示例
      • 案例1:TCP文件传输服务器
      • 案例2:UDP时间客户端
    • ⚠️ 常见错误处理
      • 1️⃣ 地址已在使用(Address already in use)
      • 2️⃣ 连接重置(Connection reset)
      • 3️⃣ 超时控制
    • 🚀 高级技巧
      • 1️⃣ 获取本机IP
      • 2️⃣ 端口扫描工具
    • 📚 学习资源推荐


🌟 模块概述

🧬 模块定位

socket模块是Python标准库中用于网络通信的核心模块,提供对BSD套接字接口的面向对象封装,支持TCP/IP、UDP等协议栈。

📦 导入方式

import socket  # 标准导入
from socket import socket, AF_INET, SOCK_STREAM  # 按需导入

🛠️ 核心API详解

1️⃣ socket对象创建

socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None)
  • 参数说明
    • family:地址族(默认AF_INET=IPv4,可选AF_INET6=IPv6)
    • type:套接字类型(SOCK_STREAM=TCP,SOCK_DGRAM=UDP)
    • proto:协议号(通常自动检测)
    • fileno:文件描述符(高级用法)

2️⃣ 关键方法速查

方法适用协议作用描述
bind((host, port))TCP/UDP绑定地址到套接字
listen(backlog)TCP启动监听,设置等待队列长度
accept()TCP接受客户端连接,返回(client_socket, address)
connect((host, port))TCP连接服务端
send(data)TCP发送数据
recv(bufsize)TCP接收数据
sendto(data, addr)UDP发送数据到指定地址
recvfrom(bufsize)UDP接收数据和发送方地址
close()通用关闭套接字

🔌 TCP/UDP编程流程对比

🚥 TCP通信流程

服务器
创建socket
bind绑定
listen监听
accept接受连接
recv/send数据交换
close关闭
客户端
创建socket
connect连接
send/recv数据交换
close关闭

🚀 UDP通信流程

服务端
创建socket
bind绑定
recvfrom接收数据
sendto发送响应
客户端
创建socket
sendto发送数据
recvfrom接收响应

💻 实战代码示例

案例1:TCP文件传输服务器

import socketdef tcp_file_server(filename, port=8888):with socket.socket() as s:s.bind(('', port))s.listen(1)print(f"等待连接,端口{port}...")conn, addr = s.accept()with conn, open(filename, 'wb') as f:print(f"客户端 {addr} 已连接")while True:data = conn.recv(4096)if not data: breakf.write(data)print("文件传输完成")tcp_file_server('received_file.zip')

案例2:UDP时间客户端

import socket
import timedef udp_time_client(server_ip='127.0.0.1', port=8888):with socket.socket(type=socket.SOCK_DGRAM) as s:for _ in range(3):s.sendto(b'time', (server_ip, port))data, addr = s.recvfrom(1024)print(f"服务器 {addr} 时间: {data.decode()}")time.sleep(1)udp_time_client()

⚠️ 常见错误处理

1️⃣ 地址已在使用(Address already in use)

s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)  # 在bind前设置

2️⃣ 连接重置(Connection reset)

try:data = conn.recv(1024)
except ConnectionResetError:print("客户端异常断开")

3️⃣ 超时控制

s.settimeout(5.0)  # 设置5秒超时
try:data = s.recv(1024)
except socket.timeout:print("接收超时")

🚀 高级技巧

1️⃣ 获取本机IP

def get_local_ip():s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)try:s.connect(('8.8.8.8', 80))  # 连接公共DNSreturn s.getsockname()[0]finally:s.close()print("本机IP:", get_local_ip())

2️⃣ 端口扫描工具

def port_scan(target_ip, start=70, end=100):open_ports = []for port in range(start, end+1):with socket.socket() as s:s.settimeout(0.5)result = s.connect_ex((target_ip, port))if result == 0:open_ports.append(port)return open_portsprint("开放端口:", port_scan('127.0.0.1', 70, 100))

📚 学习资源推荐

  1. 官方文档:socket — Low-level networking interface
  2. 经典书籍:《Python网络编程(第3版)》
  3. 调试工具
    • Wireshark(网络协议分析)
    • netcat(网络调试瑞士军刀)
    • Postman(API测试)

“Socket编程是打开网络世界的钥匙,掌握它意味着你能让任何设备对话。”
—— 网络工程师箴言

http://www.dtcms.com/wzjs/393157.html

相关文章:

  • 谁有哪种浏览器网站免费的百度自己的宣传广告
  • 什么网站 是cms系统下载2345网址导航大全
  • 北京网站设计公司兴田德润怎么样百度指数代表什么
  • 做网站数据库要建什么表百度账户托管
  • 哪些网站可以做日语翻译百度公司排名
  • 上海自助建站企业怎么做网站教程视频
  • wordpress avada优化seo运营
  • 给别人做网站要问什么问题东莞疫情最新数据
  • 装修上什么网站比较好百度地图导航2021最新版
  • 在深圳做网站平台需要什么备案泰安seo排名
  • 全案营销的未来发展趋势seo研究中心vip课程
  • 易物网网站建设管理郑州网站推广培训
  • 网站建设开发计划模板免费发布产品的网站
  • 企业靠网站接单seo推广优势
  • 网站建设太金手指六六十网络运营seo是什么
  • 如何建立本地网站重庆seo整站优化设置
  • 广州市建设网站网络营销pdf
  • 网站后台有什么用广告联盟全自动赚钱系统
  • 关于服装店网站建设的策划方案在线代理浏览国外网站
  • 泉州公司网站建设网络营销网络推广
  • 网站建设报价单模板b站广告投放平台入口
  • 专业做网站技术网络运营策划
  • 网站怎么申请官网沪深300指数是什么意思
  • dreamweaver8.0做网站什么是关键词搜索
  • wordpress大幅广告seo排名策略
  • vps服务器的iis网站谷歌google
  • 沈阳怎么做网站推广链接点击器
  • 网站建站制作网站的工具
  • 潍坊市建设工程管理处网站企业培训内容
  • 中锤音建设有限公司网站百度竞价排名展示方式