A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈行 高级黑马   /  2013-4-26 13:20  /  944 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

邹老师视频讲的是客户端给服务端发文件,反过来服务端能不能给客户端发文件,试了n次了实现不了,代码也不知道哪里错了
  1. void jieshou()
  2. {

  3. byte[] message = new byte[1024 * 1024 * 2];//定义接受数据的缓存数组

  4. while (true)//是客户端不断接受发送的数据
  5. {
  6. int length= socket.Receive(message);//通信套接字接收数据的方法 存在message数组中
  7. if (message[0] ==0)
  8. {
  9. string meg = System.Text.Encoding.UTF8.GetString(message, 0, length);//把接受到得数据转换为string

  10. textBox3.AppendText(meg + "\n");//输出转换后的信息
  11. }
  12. else
  13. {
  14. MessageBox.Show("正在接受文件");
  15. SaveFileDialog baocun = new SaveFileDialog();
  16. if (baocun.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  17. {
  18. string lujin= baocun.FileName;
  19. using (FileStream xie = new FileStream(lujin, FileMode.Create))
  20. {
  21. xie.Write(message ,1,length-1 );
  22. textBox3.AppendText("文件已保存" + lujin);
  23. }
  24. <DIV class=blockcode>
  25. <BLOCKQUOTE>private void button4_Click(object sender, EventArgs e)
  26. {

  27. OpenFileDialog wenjian=new OpenFileDialog ();

  28. if (wenjian.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  29. {
  30. textBox5.Text = wenjian.FileName;
  31. }

  32. }

  33. private void button5_Click(object sender, EventArgs e)
  34. {
  35. using (FileStream dkwenjian = new FileStream(textBox5.Text, FileMode.Open)) //参数一为文件的路径,参数二为打开方式
  36. {
  37. byte[] mgwenjian=new byte [1024*1024*2];//定义一个数组(缓冲区)
  38. int length= dkwenjian.Read(mgwenjian ,0,mgwenjian.Length );//(将文件写入数组)注意看参数二为0,就是从0位置开始写入
  39. byte []sswenjian=new byte [length+1];
  40. sswenjian[0] = 1;
  41. //for (int i = 0; i < length; i++)
  42. //{
  43. // sswenjian[i + 1] = mgwenjian[i];
  44. //}
  45. Buffer.BlockCopy(mgwenjian ,0,sswenjian ,1,length );
  46. ss[listBox1 .Text ] . Send(sswenjian);
  47. textBox3.AppendText("文件已发送");
  48. }

  49. }
复制代码
}

}
}
}上面是客户端接收文件方法和服务端发送文件方法,

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马