我目前正在研究一种客户端服务器解决方案,以通过套接字网络连接将文件传输到另一台计算机。对于整个客户端服务器,我还是一个新手,因此有以下问题-公认是非常基本的-问题:
对于文件传输,如果我将文件从客户端发送到服务器或从服务器发送到客户端,这有什么区别吗?
任何对此的合格见解将不胜感激!
最佳答案
For the file transfer, does it make any difference if I am sending the file from a client to a server or from a server to a client?
基本上,没有关系。建立连接后,您就可以自由地双向发送数据了。尽管您必须考虑到服务器不会接受发送给它的数据,除非它明确地从套接字读取数据。
更笼统地说,对于自制的数据传输实现,服务器和客户端完全是任意的。如果将其归结为最简单的概念,那么您只是在打开一个套接字并在一侧写入数据,而在另一侧则从另一个套接字读取数据。
您可能选择实现一个能够连接其他客户端(P2P)并来回发送文件的客户端程序。在这种情况下,您可以将当前正在发送文件的程序称为“服务器”,而“客户端”是当前正在接收文件的程序。
或者,您可以实现两个程序,一个用于客户端,一个用于服务器。您的服务器将监听连接,客户端将决定何时要连接到服务器。
请记住,连接存在网络限制。如果正在监听连接的程序位于防火墙后面,则必须确保转发正确的端口。如果要在局域网内连接计算机,则可能无需担心。
关于sockets - 通过网络传输文件: Send from client or from server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28771061/