Socket 模拟Http协议发送图片文件 c#篇
来源:互联网 发布:linux 标准输出重定向 编辑:程序博客网 时间:2024/06/05 05:48
发送文件的代码
private static void SendFile() { FileStream fs = File.Open(@"D:\Test\1.gif", FileMode.Open); StringBuilder sb = new StringBuilder(); sb.Append("POST /Default.aspx HTTP/1.1\r\n"); sb.Append("Host: 192.168.1.123\r\n"); sb.Append("Accept-Encoding: gzip\r\n"); sb.AppendFormat("Content-Length: {0}\r\n", fs.Length); sb.Append("Content-Type: application/octet-stream\r\n"); sb.Append("Content-Transfer-Encoding: binary\r\n"); sb.Append("\r\n"); Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sock.Connect(new IPEndPoint(IPAddress.Parse("192.168.1.123"), 80)); int r = sock.Send(Encoding.UTF8.GetBytes(sb.ToString())); Console.WriteLine("成功发送头{0}byte", r); byte[] bits = new byte[fs.Length]; fs.Read(bits, 0, (int)fs.Length); r = sock.Send(bits); Console.WriteLine("成功发送文件{0}byte", r); }
接收图片的aspx页面
http://192.168.1.123/Default.aspxpublic partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { ReceiveImage(); } private void ReceiveImage() { Stream s = Request.InputStream; FileStream fs = File.Create("D:\\test.png");<span style="white-space:pre"></span> byte[] bits = new byte[Request.ContentLength]; int r = s.Read(bits, 0, Request.ContentLength); //么有判断返回值,网络不稳定时,数据有可能损坏 fs.Write(bits, 0, bits.Length); fs.Flush(); fs.Close(); } }
接收时应该判断 r 返回值,收取完整流,避免因网络问题造成数据丢失,
0 0
- Socket 模拟Http协议发送图片文件 c#篇
- java 采用socket模拟HTTP协议发送文件到服务器
- SOCKET发送HTTP协议
- Socket模拟Http协议
- c# 通过socket模拟HTTP协议,解析HTTP包头
- socket模拟http发送请求
- 模拟发送http协议工具
- C# 利用TCP/IP协议发送图片文件,并显示
- Http协议上传文件-Socket
- C# 用HTTP协议发送、接收数据
- java中使用scoket模拟http post请求发送图片或文件
- java中使用scoket模拟http post请求发送图片或文件
- java中使用scoket模拟http post请求发送图片或文件
- Socket实现发送Http请求上传文件
- 通过 Socket 发送 Http协议 上传图片到速卖通服务器过程中遇到的一些小的问题 总结
- C#模拟http 发送post请求 模拟登录
- JAVA用Socket模拟HTTP文件上传
- php利用socket函数模拟发送http请求
- C#模拟Http与Https请求框架类实例
- 如何让 Drupal 使用 Wordpress 形式的编辑代码?
- apk反编译
- iOS--新建工程需知
- viewFlipper小页面的滑动效果
- Socket 模拟Http协议发送图片文件 c#篇
- 鸟哥私房菜大二暑假
- Java 工厂模式设计
- highchart 二维数组相关
- PAT1080 Graduate Admission (30)
- iOS粘性拖拽红点动画研究
- 结束终端
- android studio内存分析初探
- Arch