c# Socket网络传输中怎样获取发送方的传输文件的文件名称?

问题如上,我的做法是服务器端发送了一个.doc或者.txt等格式文件,不规定为哪一种文件,下面是服务器端的主要发送编码,如果客户端只是接收一种文件类型,我可以声明一个pa... 问题如上,我的做法是服务器端发送了一个.doc或者.txt等格式文件,不规定为哪一种文件,下面是服务器端的主要发送编码,如果客户端只是接收一种文件类型,我可以声明一个path为此类型文件的后缀,如string path=@"c:\test.txt"; 但是现在问题是客户端接收的文件类型是不确定的,请问应该如何写接收编码,我尝试过用system.Text.Encoding.BigEndianUnicode.GetString(by)方法和
binaryReader br=new binaryReader(client.GetStream)等,都不成功,希望有高手能够解答,万分感谢啊~(附上服务器端部分发送代码)

try
{
IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());
IPAddress ip = ipHost.AddressList[0];
IPEndPoint ipPoint = new IPEndPoint(ip, 5000);

tcpclient.Connect(IPAddress.Parse("192.168.1.36"), 5000);
OpenFileDialog openfile = new OpenFileDialog();
openfile.FileName = "";
openfile.Title = "打开文件";
openfile.Filter = "所有文件(*.*)|*.*";

if (openfile.ShowDialog() == DialogResult.OK)
{
FileInfo fo=new FileInfo(openfile.FileName);
this.label2.Text = fo.ToString();
string path = openfile.FileName;
byte[] by=new byte[1024];
FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read);
BinaryReader binary = new BinaryReader(file);
int data;
while ((data = binary.Read(by, 0, 1024)) != 0)
{
tcpclient.Client.Send(by, SocketFlags.None);
}
tcpclient.Client.Shutdown(SocketShutdown.Both);
binary.Close();
file.Close();

}
MessageBox.Show("文件发送成功!");
展开
 我来答
215133950
2009-12-16 · TA获得超过607个赞
知道小有建树答主
回答量:536
采纳率:0%
帮助的人:593万
展开全部
很笨的方法,截取字串path最后的几个字符,分界为字符.
就得到该文件后缀名,JavaWeb里面就是这样用的
老级幸1286
2009-12-16 · TA获得超过511个赞
知道小有建树答主
回答量:756
采纳率:0%
帮助的人:386万
展开全部
发的时候。
把文件名传过来
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式