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

网络编程:TCP/IP协议与Socket编程

网络编程TCP/IP协议与Socket编程大家好我是欧阳瑞Rich Own。今天想和大家聊聊网络编程这个重要话题。作为一个全栈开发者网络编程是构建分布式系统的基础。今天就来分享一下TCP/IP协议和Socket编程的实战经验。TCP/IP协议概述OSI七层模型层级名称功能7应用层HTTP、FTP、DNS6表示层数据加密、压缩5会话层建立和管理会话4传输层TCP、UDP3网络层IP、路由2数据链路层MAC、以太网1物理层物理介质TCP vs UDP特性TCPUDP可靠性可靠不可靠连接面向连接无连接传输速度较慢较快适用场景文件传输、HTTP视频流、游戏TCP Socket编程服务端import socket server socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind((localhost, 8080)) server.listen(5) print(服务器启动监听端口8080...) while True: client_socket, addr server.accept() print(f客户端连接: {addr}) data client_socket.recv(1024) if data: print(f收到数据: {data.decode()}) client_socket.sendall(bHello from server) client_socket.close()客户端import socket client socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((localhost, 8080)) client.sendall(bHello from client) data client.recv(1024) print(f收到响应: {data.decode()}) client.close()UDP Socket编程服务端import socket server socket.socket(socket.AF_INET, socket.SOCK_DGRAM) server.bind((localhost, 8080)) print(UDP服务器启动监听端口8080...) while True: data, addr server.recvfrom(1024) print(f收到来自 {addr} 的数据: {data.decode()}) server.sendto(bHello from UDP server, addr)客户端import socket client socket.socket(socket.AF_INET, socket.SOCK_DGRAM) client.sendto(bHello from UDP client, (localhost, 8080)) data, addr client.recvfrom(1024) print(f收到响应: {data.decode()}) client.close()实战案例简单HTTP服务器import socket def handle_request(client_socket): request client_socket.recv(1024).decode() print(f请求:\n{request}) response HTTP/1.1 200 OK Content-Type: text/html !DOCTYPE html html headtitleSimple HTTP Server/title/head bodyh1Hello from Python HTTP Server/h1/body /html client_socket.sendall(response.encode()) client_socket.close() server socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind((localhost, 8000)) server.listen(5) print(HTTP服务器启动监听端口8000...) while True: client_socket, addr server.accept() handle_request(client_socket)WebSocket编程服务端from websockets import serve async def handle_websocket(websocket, path): async for message in websocket: print(f收到消息: {message}) await websocket.send(f收到: {message}) async def main(): async with serve(handle_websocket, localhost, 8765): await asyncio.Future() asyncio.run(main())客户端const ws new WebSocket(ws://localhost:8765); ws.onopen () { ws.send(Hello WebSocket); }; ws.onmessage (event) { console.log(收到:, event.data); };最佳实践1. 错误处理try: server socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind((localhost, 8080)) server.listen(5) except socket.error as e: print(f套接字错误: {e})2. 超时设置server.settimeout(5) # 设置超时时间总结网络编程是构建分布式系统的基础。通过理解TCP/IP协议和Socket编程可以构建高效、可靠的网络应用。我的鬃狮蜥Hash对网络编程也有自己的理解——它总是通过感官感知周围环境这也许就是自然界的网络通信吧如果你对网络编程有任何问题欢迎留言交流我是欧阳瑞极客之路永无止境技术栈网络编程 · TCP/IP · Socket
http://www.zskr.cn/news/1401088.html

相关文章:

  • 2026安宁市本地黄金+铂金+白银+K金回收渠道实地走访,五家实力门店综合体验测评 - 亦辰小黄鸭
  • 2026常德市本地黄金+铂金+白银+K金回收渠道实地走访,五家实力门店综合体验测评 - 亦辰小黄鸭
  • NuNet Network Live:去中心化AI算力平台如何实现多链结算与真实负载
  • 从理论到实践:深入解析局部离群因子(LOF)算法及其应用
  • 从llama.cpp演进看本地大模型就绪度:技术成熟与工程化拐点
  • ssm基于web的邮票鉴赏系统(10120)
  • 深度学习炼丹师的效率神器:手把手教你用argparse和bash脚本管理超参数实验
  • 本地部署语音AI助手:基于Whisper与LangChain的私有化智能体搭建指南
  • 如何快速突破百度网盘限速:Python命令行下载工具完整指南
  • 2026大理市本地黄金+铂金+白银+K金回收渠道实地走访,五家实力门店综合体验测评 - 亦辰小黄鸭
  • 2026年铜川市正规上门黄金白银回收品牌门店名录 K金+铂金+金条+银条回收门店联系方式推荐+指南 - 盛世金银回收
  • 总价5000万上海新房怎么选?2026顶豪推荐清单,首推陆家嘴太古源 - 资讯焦点
  • 碧蓝航线Alas全自动脚本:5分钟实现24小时智能托管
  • 开发者必看:bert-base-german-dbmdz-uncased模型的API接口详解与示例
  • FactoryBluePrints:如何用开源蓝图库打造戴森球计划中的高效自动化工厂?
  • 2026年五强geo服务商综合质效考评及综合适配选型建议 - 资讯焦点
  • DyberPet桌面宠物框架:用Python代码创造你的专属数字伙伴
  • 5个实用技巧:使用Video Speed Controller全面提升视频观看效率
  • MOSS-VL-Base-0408批量推理优化指南:高效处理大规模视觉数据的5个技巧
  • 抖音批量下载终极指南:5分钟掌握视频、音乐、封面全功能抓取
  • 深度解析LibreDWG:开源DWG处理库的技术架构与性能对比
  • 中山市黄金回收 白银回收 铂金回收 彩金回收全攻略:五家靠谱门店横向评测,附避坑要点 - 前途无量YY
  • Windows文件系统开发实战:WinFsp用户态文件系统解决方案
  • OLMo-7B完全指南:开源语言模型的革命性突破与核心功能解析
  • 华硕笔记本终极性能管理:GHelper轻量级控制工具完全指南
  • 为什么你的Obsidian数据处理效率低下?这3个电子表格技巧提升200%效率
  • QQ空间导出助手:三步永久备份你的青春记忆,告别数据丢失焦虑
  • 2026安顺市本地黄金+铂金+白银+K金回收渠道实地走访,五家实力门店综合体验测评 - 亦辰小黄鸭
  • 4GB显存本地部署语音AI智能体:模型量化与资源调度实战
  • 如何用3个核心功能打造电影级直播效果:StreamFX实战指南