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...')

二、客户端

三、消息格式

消息边界

格式参考

相关推荐
香辣西红柿炒蛋2 分钟前
yaml文件介绍、数据读取
python
乐于分享的阿乐4 分钟前
(二)VSCode搭建python环境(详细图文保姆级教程)
ide·vscode·python
weixin_408099677 分钟前
2026 AI生成图片快速去水印的5种实测方法(附在线工具 + Python/Java/PHP API代码)
java·人工智能·python·api接口·ai去水印·石榴智能·自动去水印
2601_9611940211 分钟前
2026初级会计经济法基础知识点汇总
python·django·pdf·virtualenv·代理模式·pygame
爱就是恒久忍耐19 分钟前
Ubuntu解决pip3安装库提示This environment is externally managed的问题
linux·python·ubuntu
花落yu28 分钟前
AI学习:第2天
人工智能·python·学习
极光代码工作室29 分钟前
基于深度学习的文本自动摘要系统
人工智能·python·深度学习·神经网络
开源量化GO33 分钟前
期货量化订不到行情:天勤合约代码与交易所符号写法
python·区块链
机汇五金_33 分钟前
LED灯箱架的主要材质有哪些?各有什么特点?
python·材质
财经资讯数据_灵砚智能34 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年6月3日
大数据·人工智能·python·信息可视化·自然语言处理