我的客户端程序想要向服务器发送一个巨大的文件,作为回报,服务器程序返回一个双倍或三倍大小的文件。
我的问题是,我应该使用哪种方法?TCP 或 UDP。
您可以将FTP(文件传输协议)用于您的用例。
这很常见,您可以将它与 java 一起使用来获取或上传文件到 FTP 服务器。
还可以看看这个关于 SO 的问题:File upload in Java through FTP
如果您仍想自己实现它,我建议您使用TCP,因为它为您提供了一些服务:
无差错数据传输
http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Data_transfer
这个问题太笼统了,但答案大概是TCP;如果您需要传输文件,TCP 提供了 UDP 没有的排序和重传服务,没有理由重新发明轮子。
不过,沿着这些思路,为什么要重新发明 HTTP?这听起来像是使用 Web 服务器的经典案例。
UDP programmin,但很难实现