我正在尝试使用 python (稍后可能会在 c 中)和 TCP 套接字制作本地网络聊天程序。
我的目的是让服务器监听当前计算机的地址以获取传入消息,并将这些消息转发给客户端(我还不确定)。客户端将是一个简单的 GUI,它可以将消息发送到本地连接上的活动服务器。实际上,此设置将形成某种节点网络。
是否可以在同一个应用程序中同时拥有服务器和客户端,最好不使用线程?我知道服务器在侦听连接时会暂停,因此 GUI 无法响应。
如果我不能在同一个应用程序中同时拥有这两个应用程序,我会考虑拥有两个相互通信的应用程序,但是线程似乎是一个更好的选择,因为无论哪种方式我都会使用两个进程。如果我有单独的应用程序,我如何从服务器发送字符串到客户端,以更新 GUI?
我可以在希望服务器向客户端发送消息时发生某种事件(在客户端)吗?
此外,我如何检查服务器是否处于活动状态(可用并绑定到其计算机地址,等待消息)?
我的服务器/客户端关系模型合理吗?有什么建议么?
我已经检查了有关堆栈溢出的类似套接字问题,但没有找到任何专门解决我的问题的问题。我可能错过了一些,所以如果发现相关,请将我的注意力转移到它们上。
这个问题看起来非常相似:Python套接字服务器:监听多个客户端,但是他们似乎没有为每个客户端提供“服务器”和客户端。
注意:我是套接字和网络的新手。
libevent是其中最好的框架之一)。Python 异步套接字库之一是asyncio- Python 标准库的一部分(适用于现代 Python 版本)。祝你好运!
| 归档时间: |
|
| 查看次数: |
2220 次 |
| 最近记录: |