如何使用socket.FileSend方法发送TCP文件我有一个客户端应用程序和一个服务器。我想将文件从一台机器发送到另一台机器,所以它看起来是套接字。FileSend方法正是我要找的。但是既然没有FileReceive方法,那服务器端怎么接收文件呢?(我的问题是因为文件大小可变,并且比我可以按GB顺序创建的任何缓冲区都大...)在服务器端,您可以使用TcpListener并在客户端读取后分块读取流连接并将其保存到文件中:classProgram{staticvoidMain(){varlistener=newTcpListener(IPAddress.Loopback,11000);监听器.Start();while(true){using(varclient=listener.AcceptTcpClient())using(varstream=client.GetStream())using(varoutput=File.Create("result.dat")){控制台。WriteLine("客户端已连接。开始接收文件");//以1KB的块读取文件varbuffer=newbyte[1024];intbytesRead;while((bytesRead=stream.Read(buffer,0,buffer.Length))>0){output.Write(buffer,0,bytesRead);}}}}}至于发送,你可以看看SendFile方法文档中提供的例子。也就是说,您还可以查看使用WCF的更强大的解决方案。有一些协议,如MTOM,专门针对通过HTTP发送二进制数据进行了优化。与依赖非常低级别的套接字相比,这是一个更强大的解决方案。您将不得不处理诸如文件名之类的事情,可能还有元数据……现有协议中已经考虑过的事情。您需要使用Socket.Receive或Socket.BeginReceive。以上就是C#学习教程的全部内容:如何使用socket.FileSend方法共享发送的TCP文件。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
