ubuntu-c++如何通过socket发送zip文件?

问题描述

c++如何通过socket发送zip文件?

我的系统是ubuntu14.04,我可以在本机上发送zip文件,大概的操作方法是服务端用fstream直接读zip文件,然后把它存在字符串里,在把字符串发到客户端,将字符串在写到文件里。在本机上,这个方法可以实现,但我现在发到mac上就丢失了很多内容,现在我觉得应该是编码的问题,应该怎么稳定的发送zip文件?

解决方案

#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
void main() {
// 初始化 Winsock.
WSADATA wsaData;
int iResult = WSAStartup( MAKEWORD(2,2), &w......
答案就在这里:socket发送文件

解决方案二:

用二进制方式读取zip文件,返回发送socket,接收后也是二进制写回文件,这样就不会有编码问题了。

然后就是虽然你接收的数据跟发送的md5等是一致的,但是mac上不一定能够支持zip文件格式

时间: 2024-08-06 19:46:51

ubuntu-c++如何通过socket发送zip文件?的相关文章

ICSharpCode.SharpZipLib.Zip 压缩Bytes[] 和 压缩后通过Socket发送给客户端 如何解决?

问题描述 我是菜鸟,刚刚接触C#我想实现如下两项功能首先将内存中Bytes[]传过来的数据通过ICSharpCode.SharpZipLib.Zip进行压缩,存放在一个文件中.因为,过一段时间,Bytes[]传一次,每次大约1MB的数据量.其次,将压缩后的文件通过Socket实时发送给客户端.请问大侠们如何解决,在解决的过程中尽可能降低内存的使用量,和CPU的利用率. 解决方案 解决方案二:byte[]压缩之后也还是byte[],这方面没什么不一样.既然你能够"传过来",那么实现&qu

Java小例子:通过Socket发送和接收文件

这是一个简单的包含发送端和接收端的例子.发送端向接收端发送文件名和文件内容 ,接收端将收到的文件保存在磁盘上.接收端可以同时接收多个发送端传来的文件,但没 有处理文件同名的情况. 这个例子中设计了一个简单的协议.发送的内容是这样的: 文件名长度(4字节)-文件名-文件内容长度(4字节)-文件内容 . 接收端也按照这个结构进行解析.建议先看 Client 类,再看 Server 类. 01.import java.io.*; 02.import java.net.ServerSocket; 03.

asp.net使用Socket.Send发送信息及Socket.SendFile传输文件的方法_实用技巧

本文实例讲述了asp.net使用Socket.Send发送信息及Socket.SendFile传输文件的方法.分享给大家供大家参考,具体如下: // Displays sending with a connected socket // using the overload that takes a buffer. public static int SendReceiveTest1(Socket server) { byte[] msg = Encoding.UTF8.GetBytes("Th

Ubuntu解压zip文件乱码的解决方法_Linux

前言 本文介绍的是Ubuntu解压zip文件乱码的解决方法,共有2种方式解决问题,下面话不多说,来一起看看吧 一.通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明. 二.在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件 /etc/environment中加入2行 UNZIP="-O CP936&quo

socket基于tcp发送大文件的问题

问题描述 小弟在做发送大文件,分步发送,1M1M的发送,在byte前都加行了标识1表示发送文件,0表示信息,但是问题出现了,接收的时候第1次是以1开头的byte的数组,第2次居然不是了,小弟找不到问题的所在,求帮助.发送文件代码:publicvoidSendFile(stringstrMsg)//发送文件{using(FileStreamfs=newFileStream(strMsg,FileMode.Open)){byte[]byFile=newbyte[1024*1024*1];while(

java下载zip文件socket write error

问题描述 java下载zip文件socket write error 今天用java下载zip文件的时候老是出现如下错误,从网上找了错误原因,感觉答案解决不了我的问题: ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffe

用Socket发送电子邮件_php基础

用Socket发送电子邮件 在作者所申请的几个PHP 主页空间中,能够提供mail功能的实在不多,总是调用完mail()函数之后就毫 无下文了.但是电子邮件在网上生活中的作用越来越大.想一想网虫上网不收邮件能叫真正的网虫吗?邮件 的作用我不想再说了,但是如果主页空间不支持mail()发送那么怎么办呢?我也想过通过socket来实现邮件 发送,但无奈对用php 进行socket编程不熟悉,再加上发送邮件要用到SMTP协议,又要读不少的英文了,所 以一直也没有去研究过.终于有一天我发现了一篇文章,关

ios-使用参数上传zip文件

问题描述 使用参数上传zip文件 使用NSURLConnection及POST方法上传文件,需要在Post中发送一些像用户名等的参数.不知道应该怎么实现?谢谢.

c++如何解析ActionScript3.0用socket发送的图片ByteArray还原成图片?

问题描述 c++如何解析ActionScript3.0用socket发送的图片ByteArray还原成图片? ActionScript3.0用socket给c++发送了一个图片的二进制数组ByteArray,c++收到数据,但是怎么解析这个接收到的数据,从而把它还原成图片? 原谅菜鸟新人没有银子-- 解决方案 你这个问题应该是怎么把图像的二进制数组数据转换为图像来存储,试试能否直接写成某一图像格式的文件,fwrite看看 解决方案二: socket接收到数据后,存入BYTE的数组中,然后你fop