我正在尝试使用python(稍后可能用c语言)和TCP套接字制作一个本地网络聊天程序。
我的目的是让服务器监听当前计算机的地址以获取传入消息,并将这些消息转发给客户端(我现在还不确定)。
客户端将是一个简单的gui,可以通过本地连接向活动服务器发送消息。实际上,这种设置将形成某种节点网络。
是否可以在同一个应用程序中同时使用服务器和客户端,最好不使用线程?我知道服务器在监听连接时会暂停,因此gui无法响应。
如果我不能在同一个应用程序中同时使用这两个应用程序,我正在考虑使用两个相互通信的应用程序,但是线程似乎是一个更好的替代方法,因为我将使用两个进程。如果我有单独的应用程序,我如何从服务器向客户端发送字符串,以更新gui?
当wants服务器向客户端发送消息时,我是否可以生成某种事件(在客户端)?
此外,如何检查服务器是否处于活动状态(可用并绑定到其计算机地址,等待消息)?
我的服务器/客户机关系模型是否合理?有什么建议吗?
我检查过堆栈溢出的类似套接字问题,但没有找到任何专门解决我的问题的。我可能漏掉了一些,所以如果发现它们相关,请将我的注意力转移到它们身上。
注意:我不熟悉套接字和网络。