我正在编写一个基于windows的客户端(c++)和服务器(c#)应用程序,它将通过tcp数据包相互通信。在这里,客户端正在发送数据,而服务器需要确认相同的信息。
为了达到这个目的,我在客户端生命周期内启动了一个'socket()‘和'connect()’调用。在'send()‘和'recv()’调用方法中保留了一些错误检查和重试。请注意,一个客户端将发送一组(多个数据包)数据,并一次退出。
现在我的问题是:
我想知道世界各地的人们用什么方法来处理这种网络应用程序的情况。
发布于 2015-04-28 12:36:52
我真的需要考虑连接崩溃和创建一个新的套接字并相应地从客户端连接吗?
取决于你的数据有多珍贵。如果希望确保它在服务器上结束,并且在发送时发生错误,则可以将其视为“未发送”。
如果是这样的话,我是否需要考虑从一开始就重新发送数据,还是从上次客户未能通信的地方重新发送数据?
这完全取决于应用程序逻辑和应用程序协议的工作方式。从您的描述中,我们无法知道您如何发送数据,以及服务器如何识别它已经看到的数据。
发布于 2015-10-14 11:48:02
我真的需要考虑连接崩溃(网络故障)和创建一个新的套接字并相应地从客户端连接吗?
您当然不需要在连接关闭后创建一个新的套接字;您可以使用现有的套接字重新连接。
https://stackoverflow.com/questions/29919628
复制相似问题