# tcp-socket **Repository Path**: xixigroup/tcp-socket ## Basic Information - **Project Name**: tcp-socket - **Description**: 用原生socket实现的服务端、客户端demo,可供学习 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2021-02-04 - **Last Updated**: 2024-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目说明 ​ 本项目基于TCP 原生Socket实现了简单的服务端、客户端连接,数据收发,并实现了部分功能 ## 通信功能 ​ 支持客户端使用简单的命令,如下: - ls 可展示服务端当前目录文件 - pwd 可展示服务端当前所处目录 - cd 可使服务端进入某个目录下 - download 可下载服务端某个文件 ## 项目意义 ​ 通过本项目,可以更加理解TCP、Socket通信原理,对Web服务有相对理解,仅供学习交流 ## 运行环境 python3 ## 目录结构 - client - main_client.py 客户端启动文件 - tcp_client.py 客户端通信逻辑处理文件 - server - main_server.py 服务端启动文件 - tcp_server.py 服务端通信逻辑处理文件 ## 使用示例 ```bash 服务端启动 服务端启动中 ('127.0.0.1', 8080) 服务端启动完成,等待客户端连接 ``` ```bash 客户端启动 正在连接服务端 ('127.0.0.1', 8080) 连接服务端成功 /: ``` ## 命令模式 ```bash 客户端输入 ls 回车 返回结果: 1 home(目录) 2 usr(目录) 3 .DS_Store(文件) 4 bin(目录) 5 sbin(目录) 6 .file(文件) 7 etc(目录) 8 var(目录) 9 Library(目录) 10 System(目录) 11 .VolumeIcon.icns(文件) 12 .fseventsd(目录) 13 private(目录) 14 .vol(目录) 15 Users(目录) 16 Applications(目录) 17 opt(目录) 18 dev(目录) 19 Volumes(目录) 20 tmp(目录) 21 cores(目录) 服务端响应日志 服务器收到来自('127.0.0.1', 57074)的消息,内容: {'order': 'ls', 'order_content': []} 执行完毕: {'result': True, 'data': {'data': ['home(目录)', 'usr(目录)', '.DS_Store(文件)', 'bin(目录)', 'sbin(目录)', '.file(文件)', 'etc(目录)', 'var(目录)', 'Library(目录)', 'System(目录)', '.VolumeIcon.icns(文件)', '.fseventsd(目录)', 'private(目录)', '.vol(目录)', 'Users(目录)', 'Applications(目录)', 'opt(目录)', 'dev(目录)', 'Volumes(目录)', 'tmp(目录)', 'cores(目录)']}, 'msg': '成功', 'path': '/'} 服务器等待来自('127.0.0.1', 57074)的请求! ```