Python简单多Clien

2024-05-29 04:51:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何用python2.7制作一个简单的socket服务器,它可以一次处理和添加/接受多个客户机。我不想使用Twisted或threading,也不想使用任何库;只想使用Python和sockets。我看过SoF(stackoverflow-这是一件事吗?)发现有人问同样的问题却没有得到明确的答案。在

如果您想知道我为什么需要这样做,那是因为我想创建一个简单的数据转发器,它将客户端数据转发到另一个服务器。我想一个很简单的例子给我看服务器.py,Client1.py和Client2.py正是我需要的。同样,这只是一个非常简单的例子,没有线程,没有扭曲,没有库。在

我希望您能帮助我,我对Python还比较陌生,我觉得这个项目将帮助我站稳脚跟,我从示例中学到了很多东西。在


Tags: 数据答案py服务器客户端客户机转发器twisted
1条回答
网友
1楼 · 发布于 2024-05-29 04:51:05

考虑使用asyncio(适用于python3.3及更高版本)。在

Asyncio是单线程并发编程的新python标准:

This module provides infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources, running network clients and servers, and other related primitives.

文档提供了几个示例:


如果您还没有准备好迁移到python3,可以使用trollius,这是python2的asyncio移植。正如documentation中所列,这两个模块之间有一些区别:

  • replace asyncio with trollius (or use import trollius as asyncio)
  • replace yield from ... with yield From(...)
  • replace yield from [] with yield From(None)
  • in coroutines, replace return res with raise Return(res)

Python2.7上单线程并发编程的其他解决方案:

相关问题 更多 >

    热门问题