网易首页 > 网易号 > 正文 申请入驻

Python:简易的 TCP + SSL 服务端与客户端示例

0
分享至

下面是一个完整的 TCP + SSL 服务端与客户端示例,适用于 Python 3,使用 socket 模块和 ssl 模块,常用于实现安全通信。

一、生成 SSL 证书和私钥

打开命令行(终端),输入以下命令生成自签名证书(有效期 365 天)。

openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key

按照提示填写(可以直接回车),将生成两个文件:

server.crt:服务器端证书

server.key:服务器私钥

这两个文件需与服务端脚本放在同一目录下。

提示:

要在系统中事先安装 OpenSSL。

Windows 用户可通过 Git Bash 或安装 OpenSSL for Windows。

https://slproweb.com/products/Win32OpenSSL.html

二、TCP + SSL 服务端(server_tcp_ssl.py)

import socket
import ssl

HOST = '127.0.0.1'
PORT = 8888

# 创建 TCP socket
server_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_sock.bind((HOST, PORT))
server_sock.listen(1)
print("等待客户端连接...")

# 加载证书和密钥
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain(certfile='server.crt', keyfile='server.key')

# 包装 socket
with context.wrap_socket(server_sock, server_side=True) as ssock:
    conn, addr = ssock.accept()
    print("客户端已连接:", addr)

    try:
        while True:
            data = conn.recv(1024)
            if not data:
                break
            print("收到消息:", data.decode('utf-8'))
            reply = input("回复客户端:")
            conn.sendall(reply.encode('utf-8'))
    except Exception as e:
        print("通信异常:", e)
    finally:
        conn.close()

三、TCP + SSL 客户端(client_tcp_ssl.py)

import socket
import ssl

HOST = '127.0.0.1'
PORT = 8888

context = ssl.create_default_context()
context.check_hostname = False
context.verify_mode = ssl.CERT_NONE  # 忽略证书验证(测试用)

try:
    with socket.create_connection((HOST, PORT)) as sock:
        with context.wrap_socket(sock, server_hostname=HOST) as ssock:
            print("已连接服务器,可发送消息(输入 q 退出)")

            while True:
                msg = input("你说:")
                if msg.lower() == 'q':
                    break
                ssock.sendall(msg.encode('utf-8'))
                reply = ssock.recv(1024).decode('utf-8')
                print("服务器回应:", reply)

except Exception as e:
    print("连接异常:", e)

◆ ◆

使用说明

1、先运行服务端,建议在命令行中运行。

python server_tcp_ssl.py

确保服务端所在端口未被防火墙拦截。

2、再运行客户端(client_tcp_ssl.py)。可在 Python 编辑器中运行。

如遇 UnicodeDecodeError,请确认服务端与客户端使用统一编码(UTF-8)。

3、客户端或服务端输入文字后回车,对方会回应。

4、在客户端输入 q 键即可退出。

点赞有美意,赞赏是鼓励

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
女子点20多元麻辣烫外卖到手仅一筷子的量,跑去跟商家理论,商家辩解说到手只有8块9

女子点20多元麻辣烫外卖到手仅一筷子的量,跑去跟商家理论,商家辩解说到手只有8块9

捣蛋窝
2026-08-16 10:10:42
一手王炸打的稀碎?巅峰期嫁素人退圈,如今斓曦打了多少人的脸

一手王炸打的稀碎?巅峰期嫁素人退圈,如今斓曦打了多少人的脸

吴蒂旅行ing
2026-08-15 19:28:42
人类史上几乎没有哪一位领袖,能像斯大林这样,对自己身边的同僚和战友,展开如此彻底的清洗

人类史上几乎没有哪一位领袖,能像斯大林这样,对自己身边的同僚和战友,展开如此彻底的清洗

人生录
2026-07-10 16:42:29
56岁徒步者南太行遇难!身份曝光:长城巡查员 守护者为何倒在野山

56岁徒步者南太行遇难!身份曝光:长城巡查员 守护者为何倒在野山

记录生活日常阿蜴
2026-08-16 05:29:25
黄瓜再次成为关注对象!多名院士发现:常吃黄瓜的人,有7个变化

黄瓜再次成为关注对象!多名院士发现:常吃黄瓜的人,有7个变化

任医生聊健康
2026-08-03 08:40:30
5年3.6亿!NBA历史最大合同,二轮41顺位+7亿身价,历史独一份啊

5年3.6亿!NBA历史最大合同,二轮41顺位+7亿身价,历史独一份啊

球童无忌
2026-08-05 10:19:20
微信上基本不发朋友圈的人,未必低调,十有八九是这三种人:1、生活过于丰富,不便展示;2、看透人性,藏锋守拙;3、自给自足,太充实

微信上基本不发朋友圈的人,未必低调,十有八九是这三种人:1、生活过于丰富,不便展示;2、看透人性,藏锋守拙;3、自给自足,太充实

美芽
2026-08-15 12:32:27
表面老艺术家,私下贪财又好色,这几位晚节不保一点都不冤

表面老艺术家,私下贪财又好色,这几位晚节不保一点都不冤

青橘罐头
2026-06-22 14:27:39
45了还在拍三级片,败光两任的亿万家产,如今坦言后悔嫁给钟镇涛

45了还在拍三级片,败光两任的亿万家产,如今坦言后悔嫁给钟镇涛

寒士之言本尊
2026-07-28 14:52:44
俄S-71导弹惊现英伟达8GB AI芯片,英伟达称未对俄销售

俄S-71导弹惊现英伟达8GB AI芯片,英伟达称未对俄销售

我是一个粉刷匠2
2026-08-14 18:53:14
刘晓庆和陈冲同台,惊现不和谐一幕!都这么老了还在玩心机?

刘晓庆和陈冲同台,惊现不和谐一幕!都这么老了还在玩心机?

百言君
2026-08-14 22:12:10
6年前我国铁路负债高达5.48万亿,再看如今的数据,结果令人意外

6年前我国铁路负债高达5.48万亿,再看如今的数据,结果令人意外

离离言几许
2026-08-10 14:12:54
央视《重器》:顶着“歪瓜脸”却要演大学生,谁的审美出了问题?

央视《重器》:顶着“歪瓜脸”却要演大学生,谁的审美出了问题?

风月得自难寻
2026-08-16 02:07:55
赖清德副手谈统一,郑丽文、蒋万安、卢秀燕火力全开,韩国瑜沉默

赖清德副手谈统一,郑丽文、蒋万安、卢秀燕火力全开,韩国瑜沉默

鹤羽说个事
2026-08-16 19:29:37
馒头被点名!医生直言:馒头冷冻 16 小时,抗性淀粉翻倍控糖护肠

馒头被点名!医生直言:馒头冷冻 16 小时,抗性淀粉翻倍控糖护肠

任医生聊健康
2026-08-16 16:30:16
国行对比港版,iPhone17pro Max港版真香!

国行对比港版,iPhone17pro Max港版真香!

果粉易查
2026-08-14 23:20:03
广州“最尴尬”的百年茶楼?外观被说阴森诡异,还在网上引起争议

广州“最尴尬”的百年茶楼?外观被说阴森诡异,还在网上引起争议

刘小顺
2026-08-15 11:00:12
胖东来把全国房东都干懵了!

胖东来把全国房东都干懵了!

贩财局
2026-08-11 16:28:26
再次Here we go!罗马诺:铃木彩艳即将加盟维拉

再次Here we go!罗马诺:铃木彩艳即将加盟维拉

懂球帝
2026-08-16 19:43:17
曝勇士非常欢迎克莱回归!三大因素或成阻碍 湖人热火将参与竞争

曝勇士非常欢迎克莱回归!三大因素或成阻碍 湖人热火将参与竞争

罗说NBA
2026-08-16 06:59:05
2026-08-16 23:56:49
MediaTea
MediaTea
专业的数字媒体、新媒体技术
2062文章数 86关注度
往期回顾 全部

科技要闻

210亿美元,黄仁勋投了马斯克

头条要闻

如是书院被关停:22岁女生被打疯 大小便失禁生死不明

头条要闻

如是书院被关停:22岁女生被打疯 大小便失禁生死不明

体育要闻

因莫比莱:普通人的平凡故事

娱乐要闻

李小冉疑承认离婚 多次强调“一个人”

财经要闻

事关8万亿养老金!长周期考核落地中

汽车要闻

杨洋成001号车主 岚图追光S正式上市

态度原创

教育
旅游
房产
数码
军事航空

教育要闻

高考巧合背后:18 岁小伙4月4日出生,高考考444分,选择殡葬专业

旅游要闻

开馆15天迎客超20万人次!深圳自然博物馆成大湾区暑期热门打卡地

房产要闻

金茂、招商,海南多个岗位招人!

数码要闻

内存涨价逼出行业大分裂!CPU接口也将有贫富差距:普通人别想新U了

军事要闻

伊朗:对每名入境美国军人悬赏50亿土曼

无障碍浏览 进入关怀版