python Socket之客户端和服务端握手详解
发布时间 - 2026-01-11 03:17:41 点击率:次简单的学习下利用socket来建立客户端和服务端之间的连接并且发送数据

1. 客户端socketClient.py代码
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 建立连接:
s.connect(('127.0.0.1', 9999))
# 接收欢迎消息:
print(s.recv(1024).decode('utf-8'))
for data in [b'Michael', b'Tracy', b'Sarah']:
# 发送数据:
s.send(data)
print(s.recv(1024).decode('utf-8'))
s.send(b'exit')
s.close()
2. 服务端serverSocket.py代码
import socket
import threading
import time
# from threading import Thread
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 监听端口:
s.bind(('127.0.0.1', 9999))
s.listen(5)
print('Waiting for connection...')
def tcplink(sock, addr):
print('Accept new connection from %s:%s...' % addr)
sock.send(b'Welcome!')
while True:
data = sock.recv(1024)
time.sleep(1)
if not data or data.decode('utf-8') == 'exit':
break
sock.send(('Hello, %s!' % data.decode('utf-8')).encode('utf-8'))
sock.close()
print('Connection from %s:%s closed.' % addr)
while True:
# 接受一个新连接:
sock, addr = s.accept()
# 创建新线程来处理TCP连接:
t = threading.Thread(target=tcplink, args=(sock, addr))
t.start()
3.操作过程
开两个控制台窗口,先运行服务端 python3 serverSocket.py
然后运行客户端 python3 socketClient.py
socket连接截图如下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# python
# Socket
# 客户端
# 服务端
# 握手
# 两张动图--带你搞懂TCP的三次握手与四次挥手
# 详解PHP Swoole与TCP三次握手
# TCP第三次握手传数据过程图解
# node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
# TCP/IP协议中三次握手四次挥手的原理及流程分析
# 关于HTTPS的TSL握手
# 大家多多
# 操作过程
# decode
# data
# utf
# print
# recv
# Michael
# exit
# close
# Tracy
# Sarah
# send
# py
# pre
# class
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
SQL查询语句优化的实用方法总结
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
高端企业智能建站程序:SEO优化与响应式模板定制开发
香港服务器WordPress建站指南:SEO优化与高效部署策略
Android自定义控件实现温度旋转按钮效果
如何快速重置建站主机并恢复默认配置?
如何为不同团队 ID 动态生成多个独立按钮
南京网站制作费用,南京远驱官方网站?
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
PHP 500报错的快速解决方法
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
创业网站制作流程,创业网站可靠吗?
香港服务器租用费用高吗?如何避免常见误区?
Laravel如何保护应用免受CSRF攻击?(原理和示例)
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
JS去除重复并统计数量的实现方法
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
网站图片在线制作软件,怎么在图片上做链接?
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
javascript如何操作浏览器历史记录_怎样实现无刷新导航
如何挑选优质建站一级代理提升网站排名?
bing浏览器学术搜索入口_bing学术文献检索地址
Laravel如何处理文件下载请求?(Response示例)
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
Laravel API资源类怎么用_Laravel API Resource数据转换
如何快速搭建高效可靠的建站解决方案?
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
如何在七牛云存储上搭建网站并设置自定义域名?
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
Swift开发中switch语句值绑定模式
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Laravel如何处理异常和错误?(Handler示例)
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何在阿里云ECS服务器部署织梦CMS网站?
Android滚轮选择时间控件使用详解
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性

