本帖最后由 zhangcheng5468 于 2013-7-9 20:23 编辑
WPF写的Socket中传送文件时接收端怎么确定发送文件的类型?代码如下:- private void Communication(object key)
- {
- while (true)
- {
- byte[] byteData = new byte[1024 * 1024 * 2];//创建一个2M的缓存区
- int length = dictSocket[key.ToString()].Receive(byteData);
- //根据标识位判断传送的是文件还是消息
- if (byteData[0] == 1)//文件
- {
- SaveFileDialog sfd = new SaveFileDialog();
- if (sfd.ShowDialog() == true)
- {
- using (FileStream fs = new FileStream(sfd.FileName, FileMode.Create))
- {
- sfd.AddExtension=true;
- fs.Write(byteData, 1, length - 1);
- ShowMsg(DateTime.Now + " " + key + "向服务器 传送:" + sfd.FileName);
- }
- }
- }
- else if(byteData[0]==0)//消息
- {
- ShowMsg(DateTime.Now + " " + key + "-服务端 说:" + Encoding.UTF8.GetString(byteData, 1, length) + "\n");
- }
-
- }
复制代码 在接收端弹出文件另存为对话框时并没有文件类型,如何才能确定传送文件的类型呢?求解?
PS:在传送文件是倒是可以限定文件类型集合~
|