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

安徽建设工程信息网查询平台蔡庆树seo高端培训

安徽建设工程信息网查询平台蔡庆树,seo高端培训,徐州网站开发公司电话,个人软件制作网站源码文章目录 一、网络编程基础概念1.1 网络通信协议1.2 IP地址与端口号 二、使用 socket 模块进行网络编程2.1 创建 TCP 服务器和客户端TCP服务器TCP客户端 2.2 使用 UDP 进行通信UDP服务器UDP客户端 三、使用 requests 模块发送 HTTP 请求3.1 安装 requests3.2 发送 GET 请求3.3 …

文章目录

  • 一、网络编程基础概念
    • 1.1 网络通信协议
    • 1.2 IP地址与端口号
  • 二、使用 `socket` 模块进行网络编程
    • 2.1 创建 TCP 服务器和客户端
      • TCP服务器
      • TCP客户端
    • 2.2 使用 UDP 进行通信
      • UDP服务器
      • UDP客户端
  • 三、使用 `requests` 模块发送 HTTP 请求
      • 3.1 安装 `requests`
      • 3.2 发送 GET 请求
      • 3.3 发送 POST 请求
  • 四、多线程/多进程网络编程
      • 4.1 多线程服务器示例


一、网络编程基础概念

1.1 网络通信协议

网络通信协议是计算机之间通信时遵循的规则。常见的协议有:

  • TCP(Transmission Control Protocol):传输控制协议,面向连接,提供可靠的数据传输。
  • UDP(User Datagram Protocol):用户数据报协议,无连接协议,传输速度快但不可靠。
  • HTTP/HTTPS:超文本传输协议,常用于 Web 数据交互。
  • FTP:文件传输协议,用于文件传输。

1.2 IP地址与端口号

  • IP地址:用于标识设备在网络中的位置,例如:192.168.1.1
  • 端口号:标识应用程序的编号,范围为 0~65535
    • 0~1023:系统保留端口
    • 1024~49151:注册端口
    • 49152~65535:动态端口

二、使用 socket 模块进行网络编程

Python 提供了 socket 模块用于实现底层的网络编程,支持 TCP 和 UDP 协议通信。

2.1 创建 TCP 服务器和客户端

TCP服务器

TCP 服务器需要:

  1. 创建套接字(socket()
  2. 绑定地址和端口(bind()
  3. 监听连接请求(listen()
  4. 接受连接(accept()
  5. 数据收发(recv()send()
  6. 关闭连接(close()

TCP服务器示例:

import socket# 创建服务器套接字
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('127.0.0.1', 8080))  # 绑定地址和端口
server.listen(5)  # 最大连接数为5
print("服务器已启动,等待连接...")# 等待客户端连接
while True:client, addr = server.accept()print(f"连接来自 {addr}")data = client.recv(1024).decode('utf-8')  # 接收数据print("收到数据:", data)client.send("Hello, Client!".encode('utf-8'))  # 发送数据client.close()  # 关闭客户端连接

TCP客户端

客户端示例:

import socket# 创建客户端套接字
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 8080))  # 连接服务器# 发送数据
client.send("Hello, Server!".encode('utf-8'))
response = client.recv(1024).decode('utf-8')
print("收到服务器回复:", response)client.close()

运行步骤

  1. 先运行 TCP 服务器。
  2. 再运行客户端,观察服务器端和客户端之间的数据交互。

2.2 使用 UDP 进行通信

UDP 不需要建立连接,适合实时性要求高的场景,但数据不可靠。

UDP服务器

import socket# 创建UDP套接字
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server.bind(('127.0.0.1', 9090))  # 绑定地址和端口
print("UDP服务器已启动...")while True:data, addr = server.recvfrom(1024)  # 接收数据print(f"接收来自 {addr} 的数据: {data.decode()}")server.sendto("数据已收到".encode(), addr)  # 回复客户端

UDP客户端

import socket# 创建UDP套接字
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 发送数据
client.sendto("Hello UDP Server!".encode(), ('127.0.0.1', 9090))# 接收服务器返回的数据
data, addr = client.recvfrom(1024)
print("服务器回复:", data.decode())client.close()

运行步骤

  1. 启动 UDP 服务器。
  2. 启动 UDP 客户端,观察数据交互情况。

三、使用 requests 模块发送 HTTP 请求

requests 模块是 Python 中进行 HTTP 请求的常用库,支持:

  • GET/POST/PUT/DELETE 等请求方式
  • 自定义请求头和参数
  • 处理 JSON 数据

3.1 安装 requests

pip install requests

3.2 发送 GET 请求

import requestsurl = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)# 查看响应状态码和内容
print("状态码:", response.status_code)
print("响应数据:", response.json())

3.3 发送 POST 请求

url = "https://jsonplaceholder.typicode.com/posts"
data = {"title": "Python网络编程","body": "使用requests发送POST请求","userId": 1
}
response = requests.post(url, json=data)# 查看响应结果
print("状态码:", response.status_code)
print("返回数据:", response.json())

四、多线程/多进程网络编程

在网络编程中,使用多线程或多进程可以提高并发性能。

4.1 多线程服务器示例

import socket
import threadingdef handle_client(client_socket):"""处理客户端连接"""data = client_socket.recv(1024)print("收到:", data.decode())client_socket.send("你好,客户端!".encode())client_socket.close()# 创建TCP服务器
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('127.0.0.1', 8080))
server.listen(5)
print("多线程服务器启动...")# 接受多个客户端连接
while True:client, addr = server.accept()print(f"连接来自 {addr}")# 启动线程处理客户端请求client_thread = threading.Thread(target=handle_client, args=(client,))client_thread.start()

优点

  • 多线程提高了并发处理能力。
  • 每个客户端由独立线程处理,互不影响。
http://www.dtcms.com/wzjs/157644.html

相关文章:

  • 做县城门户网站谷歌sem
  • 银川网站建设百度免费seo
  • 做网站用微软雅黑刷seo关键词排名软件
  • 快速搭建网站demo杭州网络整合营销公司
  • 公司网站建设制度制作网页完整步骤
  • 泰州网站建设解决方案友情链接论坛
  • 三亚网seo的方法有哪些
  • dedecms怎么做网站百度搜索量统计
  • 做网站卖广告挣几百万seoul
  • 网站建设的前景培训心得体会总结
  • 上海做网站的网站查网站流量查询工具
  • 好的域名 org 网站青岛新闻最新今日头条
  • wordpress 2017 主题站长之家seo工具
  • 金华app网站开发品牌推广包括哪些内容
  • 360怎么做网站免费二级域名分发网站源码
  • 长春优化所湖南网站seo推广
  • 做民宿要给网站多少合同钱无锡百度关键词优化
  • 商家网站建设模板seo怎么优化步骤
  • 网站主页排版手游推广代理平台有哪些
  • 网站关键词修改短视频营销优势
  • 网站建设工资看网站时的关键词
  • 青岛建设集团股份有限公司化工seo顾问
  • 怎么通过互联网做一个服务的网站如何推广一个新的app
  • 河北省建设厅网站工程师查询广州网站制作实力乐云seo
  • 网站备案密码忘怎么自己找外贸订单
  • 做一个公司网站一般多少钱常州百度推广公司
  • wordpress用户头像插件郑州网站seo技术
  • 上海正规做网站公司有哪些佛山网站建设制作
  • 阿克苏网站建设咨询网络营销推广活动有哪些
  • 可以做本地生活服务的有哪些网站搜索引擎优化与推广技术