MFC里用Socket传输文件,怎么解决同名文件的存储有关问题

MFC里用Socket传输文件,如何解决同名文件的存储问题
已经实现了功能,客户端Client能给服务器程序Server传输文件。
但是,再次传输同个文件的时候,Write文件后就把原先目录里的刚刚保存的文件又覆盖掉了。

简单来说,想要Windows里那种智能的文件存储规则,同名文件的时候会自动的在后面加上 (2) (3) 的字样。这样,客户端传多少遍文件,服务器目录里就有多少个文档,而不是重复的改写一个文档。

麻烦各位讲一讲怎么个思路。谢谢。
------解决方案--------------------
在传输文件之前先发一个包,内容就是你要发送的文件名,然后判断下是否存在返回个结果,根据结果来修改下发送的文件名就可以了,比如加个数字“1”!
------解决方案--------------------
Client接收到文件名后,在创建文件的时先判断目录下是否有同名文件,如果有,提取文件名再加上一个数字得到新文件名再创建文件接收数据包就完事了
------解决方案--------------------
引用:
在传输文件之前先发一个包,内容就是你要发送的文件名,然后判断下是否存在返回个结果,根据结果来修改下发送的文件名就可以了,比如加个数字“1”!


应该可行。。。
------解决方案--------------------
说一个好点的方案啊

1. 客户端传输一个A文件给服务器,首先发送一个A文件的熵值及文件信息给服务器
2. 服务器得到消息后,在已存的文件中,是否有相同文件熵值的文件存在,如果存在,使用FList链表添加一条记录(文件名 如果有相同的文件名,就后面加1或者其他处理),然后给客户端回一个已经传输成功。
如果不存在,告诉客户端传输文件到指定文件目录,并且FList添加记录

这样的好处是,服务器只存一份相同的文件,节省空间,链表中的记录就是客户端要传的所有文件,包括相同的文件