首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

python3 有没有办法将 socket 对象存入 redis 中?

  •  2
     
  •   lanshee · 93 天前 · 2172 次点击
    这是一个创建于 93 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  93 天前
    楼下各位大佬说的没错,socket 无法序列化,我想存 redis 中其实也就是仅仅想存起来而已,因为后续要用,想让两个 socket 服务通过 socket 对象关联起来.相当于转发一样的功能: client1 <--> socketserver1 <-->socketserver2 <--> client2.
    总需求是这样,client1 <--> socketserver[或者 proxy(socket 实现的)] <--> client2
    第 2 条附言  ·  93 天前
    这个标题起的比较 2B...
    17 回复  |  直到 2019-06-16 15:40:45 +08:00
        1
    airborne007   93 天前
    pickle 处理下?
        2
    welkinzh   93 天前
    需要转一下格式吧, 而且直接存 socket, 看起来就很奇怪
        3
    dingyaguang117   93 天前
    请问连接怎么存。。
        4
    crysislinux   93 天前 via Android
    你能序列化 socket 么。
        5
    kaneg   93 天前 via iPhone   ♥ 5
    socket 是不可序列化的,因为它是表示网络双方连接的一种抽象对象,连接双方的状态是与时间高度相关,而序列化则是一种试图固化对象状态的操作,所以二者是矛盾的,是毫无意义的。
        6
    lanshee   93 天前
    @kaneg 大佬说的一点毛病都没有.难顶难顶.
        7
    wspsxing   93 天前 via Android
    人才
        8
    BBCCBB   93 天前
    存到 redis 里也不可能重用的!!!
        9
    love   93 天前
    人才啊,我 socket 存数据库里,岂不是可以实现无限连接
        10
    rrfeng   93 天前 via Android   ♥ 1
    我猜 lz 想存的是 session
        11
    cz5424   93 天前 via iPhone
    把收到的信息存起来,建立下一个链接发出去了也是转发
        12
    billlee   93 天前   ♥ 10
    刻舟求剑
        13
    masker   93 天前 via Android
    楼上的刻舟求剑说得好啊
        14
    opengps   93 天前 via Android
    由于不懂 py,说说.net 下~ socket 存 list,Redis 存链接信息方便取用
        15
    feather12315   93 天前 via Android
    criu 了解一下
        16
    sazima   93 天前
    我以前做过类似的, 存储了了 sqlalchemy 的查询结果比如 user, 但是使用 redis 取出来 user, 进一步查询: user.roles.all() 就查不到数据了.
        17
    BingoXuan   92 天前 via Android
    你可以用 c 实现一个以 fileno 标识 socket 的库,然后存 fileno 到 Redis 里面
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3881 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 06:46 · PVG 14:46 · LAX 23:46 · JFK 02:46
    ♥ Do have faith in what you're doing.