Python Socket

一、服务端

python 复制代码
from socket import *

def print_hi(name):
    print(f'Hi, {name}')
    # 允许所有ip连接
    IP = '0.0.0.0'
    # 端口
    PORT = 8003
    # 定义一次从socket缓冲区读入512个字节数据
    BUFFER_LEN = 1024
    # 实例化socket对象 listenSocket 用来监听的socket
    listenSocket = socket(AF_INET, SOCK_STREAM) #socket网络层使用ip协议和tcp协议
    # 绑定地址和端口
    listenSocket.bind((IP, PORT))
    # 处于监听状态
    listenSocket.listen(5) #5表示最多能接收5个等待连接的客户端
    print(f'服务端启动成功,在{PORT}端口等待客户端连接...')
    # dataSpcket 用来接收和发送数据的socket
    dataSocket, addr = listenSocket.accept()
    print('接受一个客户端连接:', addr)
    while True:
        try:
            # 尝试读取对方发送的消息
            recved = dataSocket.recv(BUFFER_LEN) #BUFLEN指定从接收缓冲里最多读取多少字节
            # 如果返回为空表示对方关闭了连接
            # 退出循环,结束消息收发
            if not recved:
                break
            # 读取的字节数据是bytes类型,需要解码为字符串
            info = recved.decode()
            print(f'服务端收到客服端发送的消息:{info}')
            #发送的数据类型必须是bytes,所以需要编码
            dataSocket.send(f'服务端接收到了消息 {info}'.encode())
        except Exception as r:
            print('发生异常程序终止,异常信息={%s}'%r)
            break
    dataSocket.close()
    listenSocket.close()

if __name__ == '__main__':
    print_hi('start...')

二、客户端

三、消息格式

消息边界

格式参考

相关推荐
问天_观心几秒前
大模型微调学习(二)
人工智能·python·深度学习·学习·语言模型·transformer
洋洋不叫杨杨3 分钟前
揭秘当下知名的SEO优化渠道,你知道几个?
大数据·python
阿童木写作8 分钟前
跨境图片翻译工具推荐:批量处理视频字幕与智能抠图
python·音视频
梦想的颜色27 分钟前
OCR 识别原理与 Python 识图全实战:从文字提取到图像内容理解
python·计算机视觉·ocr·图像识别·python 识图
禹凕28 分钟前
Dijkstra算法详解与应用
python·算法
别走!万哥爱你1 小时前
Python 中可以用于在已排序的列表中查找特定元素的位置的是什么?
python
wxwx_bscxy3222 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
TechWayfarer3 小时前
Cloudflare 9·15新政倒计时:用IP风险画像识别AI爬虫,防止误伤Googlebot
网络·人工智能·爬虫·python·tcp/ip·网络安全
禹凕3 小时前
滑动窗口算法实战指南
python·算法
论文复现现场4 小时前
RTX 4090 24GB 能跑 Qwen3.8-27B 吗?单卡显存计算与云端部署指南
人工智能·python·云计算·llama·gpu算力