保持与服务器端服务的套接字连接是否不利于向桌面应用程序发送通知?
Is maintaining a socket connection to a server-side service bad for sending notifications to desktop applications?
我目前正在做一个半小型的业余项目来学习一些新技术。我的计划是创建一个聊天应用程序,客户端使用 WPF 构建,服务器端使用 Java.
我很好奇我应该采用什么方法来发送和接收消息。我目前的想法是让用户登录使用套接字连接,然后保持该连接以在 he/she 收到消息时发送该用户通知。许多人可能会在他们的计算机上使用诸如 运行 这样的应用程序好几个小时,那么保持套接字连接不好吗?如果是这样,我应该考虑另一种方法吗?
TCP 套接字连接可以保持打开状态很长时间,但最终会断开,例如当重新配置连接两侧的网络接口时,或者当服务器或客户端软件重新启动时。
为了检测破损,一些协议包含 "heartbeat" mechanism。客户端和服务器定期交换一条消息说 “我还在这里,你在吗?” 如果客户端有一段时间没有收到来自服务器的心跳,它可以假设连接已断开并尝试重新连接。
我目前正在做一个半小型的业余项目来学习一些新技术。我的计划是创建一个聊天应用程序,客户端使用 WPF 构建,服务器端使用 Java.
我很好奇我应该采用什么方法来发送和接收消息。我目前的想法是让用户登录使用套接字连接,然后保持该连接以在 he/she 收到消息时发送该用户通知。许多人可能会在他们的计算机上使用诸如 运行 这样的应用程序好几个小时,那么保持套接字连接不好吗?如果是这样,我应该考虑另一种方法吗?
TCP 套接字连接可以保持打开状态很长时间,但最终会断开,例如当重新配置连接两侧的网络接口时,或者当服务器或客户端软件重新启动时。
为了检测破损,一些协议包含 "heartbeat" mechanism。客户端和服务器定期交换一条消息说 “我还在这里,你在吗?” 如果客户端有一段时间没有收到来自服务器的心跳,它可以假设连接已断开并尝试重新连接。