本发明涉及计算机,尤其涉及一种数据传输方法、装置、电子设备和存储介质。
背景技术:
1、在多机通信场景下,数据传输扮演着至关重要的角色。随着信息化的快速发展,不同计算机之间通过网络进行数据交换和共享的需求日益增长。为了实现这种跨平台、跨地域的数据交互,socket(套接字)通信作为一种基础的网络通信方式,被广泛地应用于各种应用场景中。
2、socket通信允许两个或多个计算机在网络中建立连接,并通过这个连接进行数据的发送和接收。通过socket通信,计算机可以高效地传输文本、图片、音频、视频等多种类型的数据,从而支持各种复杂的网络应用。然而,在实际的多机通信场景下,由于各种因素,可能会导致数据传输过程中出现数据不一致的问题,从而对通信的完整性和准确性造成影响。
技术实现思路
1、本发明提供一种数据传输方法、装置、电子设备和存储介质,用以解决数据传输过程中存在的数据不一致问题。
2、本发明提供一种数据传输方法,所述方法应用于发送方,所述方法包括:
3、在确定数据发送完成的情况下,向接收方发送第一标志,所述发送方和所述接收方通过socket通信连接;
4、接收第二标志,所述第二标志是所述接收方在接收到所述第一标志且确定数据接收完成的情况下发送的;
5、基于所述第一标志和所述第二标志,确定所述接收方已经完成数据接收。
6、根据本发明提供的一种数据传输方法,所述基于所述第一标志和所述第二标志,确定所述接收方已经完成数据接收,包括:
7、将所述第一标志与所述第二标志进行比较,得到比较结果;
8、在所述比较结果为不一致的情况下,确定所述接收方已经完成数据接收。
9、根据本发明提供的一种数据传输方法,所述接收第二标志,包括:
10、调用接收函数,并基于所述接收函数接收所述第二标志,所述第二标志是所述接收方调用发送函数发送的。
11、根据本发明提供的一种数据传输方法,所述在确定数据发送完成的情况下,向接收方发送第一标志,之前还包括:
12、调用发送函数,并基于所述发送函数将待发送数据发送至所述接收方;
13、接收所述发送函数的返回值,并在所述返回值与所述待发送数据的字节数相同的情况下,确定数据发送完成。
14、根据本发明提供的一种数据传输方法,所述第一标志用于通知所述接收方数据已经发送完毕,所述第二标志用于通知所述发送方数据已经接收完毕,所述第一标志和所述第二标志中均包括指定字段,所述第一标志中指定字段的值和所述第二标志中指定字段的值并不相同。
15、根据本发明提供的一种数据传输方法,所述发送方为客户端,所述接收方为服务器端;或者,
16、所述发送方为服务器端,所述接收方为客户端。
17、本发明还提供一种数据传输方法,所述方法应用于接收方,所述方法包括:
18、在接收到发送方发送的第一标志且确定数据接收完成的情况下,向所述发送方发送第二标志,以使所述发送方基于所述第一标志和所述第二标志确定所述接收方已经完成数据接收;
19、所述接收方和所述发送方通过socket通信连接,所述第一标志是所述发送方在确定数据发送完成的情况下发送的。
20、根据本发明提供的一种数据传输方法,所述向所述发送方发送第二标志,包括:对所述第一标志的值进行更新,并将更新后的所述第一标志作为所述第二标志;
21、调用发送函数,并基于所述发送函数向所述发送方发送所述第二标志,所述发送方在接收所述第二标志时是基于调用接收函数实现的。
22、本发明还提供一种数据传输装置,所述装置应用于发送方,所述装置包括:
23、发送单元,用于在确定数据发送完成的情况下,向接收方发送第一标志,所述发送方和所述接收方通过socket通信连接;
24、接收单元,用于接收第二标志,所述第二标志是所述接收方在接收到所述第一标志且确定数据接收完成的情况下发送的;
25、确定单元,用于基于所述第一标志和所述第二标志,确定所述接收方已经完成数据接收。
26、本发明还提供一种数据传输装置,所述装置应用于接收方,所述装置包括:
27、标志发送单元,用于在接收到发送方发送的第一标志且确定数据接收完成的情况下,向所述发送方发送第二标志,以使所述发送方基于所述第一标志和所述第二标志确定所述接收方已经完成数据接收;
28、所述接收方和所述发送方通过socket通信连接,所述第一标志是所述发送方在确定数据发送完成的情况下发送的。
29、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据传输方法。
30、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据传输方法。
31、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据传输方法。
32、本发明提供的数据传输方法、装置、电子设备和存储介质,通过发送方在确定数据发送完成的情况下,向接收方发送第一标志,可以使接收方知晓发送方已经完成了数据发送,通过接收方在接收到第一标志且确定数据接收完成的情况下,向发送方发送第二标志,可以使发送方基于第一标志和第二标志来判断数据是否已经被成功传输。本发明通过第一标志和第二标志的交换,实现了发送方和接收方之间的通信确认机制,这种机制不仅可以确保数据的可靠传输,还可以大大减少数据传输过程中的错误,从而保证数据一致性。此外,由于发送方在数据发送完成后发送第一标志,并且接收方在确认数据接收完成后才发送第二标志,可以确保从发送方到接收方的端到端数据完整性。
1.一种数据传输方法,其特征在于,所述方法应用于发送方,所述方法包括:
2.根据权利要求1所述的数据传输方法,其特征在于,所述基于所述第一标志和所述第二标志,确定所述接收方已经完成数据接收,包括:
3.根据权利要求1所述的数据传输方法,其特征在于,所述接收第二标志,包括:
4.根据权利要求1所述的数据传输方法,其特征在于,所述在确定数据发送完成的情况下,向接收方发送第一标志,之前还包括:
5.根据权利要求1至4任一项所述的数据传输方法,其特征在于,所述第一标志用于通知所述接收方数据已经发送完毕,所述第二标志用于通知所述发送方数据已经接收完毕,所述第一标志和所述第二标志中均包括指定字段,所述第一标志中指定字段的值和所述第二标志中指定字段的值并不相同。
6.根据权利要求1至4任一项所述的数据传输方法,其特征在于,所述发送方为客户端,所述接收方为服务器端;
7.一种数据传输方法,其特征在于,所述方法应用于接收方,所述方法包括:
8.根据权利要求7所述的数据传输方法,其特征在于,所述向所述发送方发送第二标志,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述数据传输方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述数据传输方法。