c如何上传文件|c# c/s结构Socket上传文件的代码

㈠ 如何用手机上传文件到电脑

如果您使用的是华为手机,以华为Mate 40手机为例:1、通过 USB 数据线连接手机和电脑。待电脑上的驱动程序自动安装完成后,点击此电脑(计算机),会出现以手机命名的盘符。2、从(手机)状态栏下滑出通知面板(可继续下滑),点击点击查看更多选项,选择合适的 USB 连接方式:a、选择传输照片,然后在电脑上打开以手机命名的盘符,可查看及复制手机中的图片至电脑,也可将电脑图片复制到手机。b、选择传输文件,然后在电脑上打开以手机命名的盘符,可查看及复制手机中的音频、视频、文档等至电脑。也可将电脑文件复制到手机。提示:使用前,请先在电脑上安装 Windows Media Player 11 或以上版本。连接成功后也可使用 Windows Media Player 查看手机上的媒体文件。c、选择MIDI,可将手机用作 MIDI(Musical Instrument Digital Interface,乐器数字接口)输入设备,在电脑上播放音乐。

㈡ winsocket使用c实现文件传输具体如何操作

background: 知道如何建立连接,如何收发字符串下面是一个简单的实现:1. client发送请求,比如 get [filename]2. server读取请求,并得到文件名。server查看是否有该文件,有的话给client发送ready的信号(字符串),client收到该信号后进入接收文件状态。3. server读取文件到buf中,并按自定义协议的格式包装文件数据。然后发送。4. 页头上可以用一个字段来指示是否为末页,从而client可以判断传输是否该结束。文件分割可以参照ftp协议的“页结构”:http://www.zaoxue.com/article/tech-18239.htm

㈢ c# c/s结构Socket上传文件的代码

发送端(client)

private void button2_Click(object sender, EventArgs e) { this.button2.Enabled = false; Thread TempThread = new Thread(new ThreadStart(this.StartSend)); TempThread.Start(); }

private void StartSend() { //FileInfo EzoneFile = new FileInfo(this.textBox1.Text);

string path = @"E:old F directoryTangWeikangge
ew1.jpg";

FileInfo EzoneFile = new FileInfo(path);

FileStream EzoneStream = EzoneFile.OpenRead();

int PacketSize = 100000;

int PacketCount = (int)(EzoneStream.Length / ((long)PacketSize));

// this.textBox8.Text = PacketCount.ToString();

// this.progressBar1.Maximum = PacketCount;

int LastDataPacket = (int)(EzoneStream.Length – ((long)(PacketSize * PacketCount)));

// this.textBox9.Text = LastDataPacket.ToString(); IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("163.180.117.229"), 7000);

Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

client.Connect(ipep);

// TransferFiles.SendVarData(client, System.Text.Encoding.Unicode.GetBytes(EzoneFile.Name));

// TransferFiles.SendVarData(client, System.Text.Encoding.Unicode.GetBytes(PacketSize.ToString()));

// TransferFiles.SendVarData(client, System.Text.Encoding.Unicode.GetBytes(PacketCount.ToString()));

// TransferFiles.SendVarData(client, System.Text.Encoding.Unicode.GetBytes(LastDataPacket.ToString()));

byte[] data = new byte[PacketSize];

for(int i=0; i<PacketCount; i++) { EzoneStream.Read(data, 0, data.Length);

TransferFiles.SendVarData(client, data);

// this.textBox10.Text = ((int)(i + 1)).ToString();

// this.progressBar1.PerformStep(); }

if(LastDataPacket != 0) { data = new byte[LastDataPacket];

EzoneStream.Read(data, 0, data.Length);

TransferFiles.SendVarData(client,data);

// this.progressBar1.Value = this.progressBar1.Maximum; } client.Close();

EzoneStream.Close();

this.button2.Enabled = true; }

接收端(server)

private void button2_Click(object sender, EventArgs e) { //int i = 0; //FileStream recfs = new FileStream("E:\kangge.jpg", FileMode.OpenOrCreate); //Byte[] recbyte = new Byte[2000000]; //Socket hostsocket = receive.Accept(); //BinaryWriter newfilestr = new BinaryWriter(recfs); //hostsocket.Receive(recbyte, recbyte.Length, SocketFlags.None); //for (i = 0; i < recbyte.Length; i++) //{ // newfilestr.Write(recbyte, i, 1); //} //recfs.Close();

//hostsocket.Shutdown(SocketShutdown.Receive); //hostsocket.Close();

this.button2.Enabled = false; Thread TempThread = new Thread(new ThreadStart(this.StartReceive)); TempThread.Start(); } private void StartReceive() { IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("163.180.117.229"), 7000);

Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

server.Bind(ipep);

server.Listen(10);

Socket client = server.Accept();

// IPEndPoint clientep = (IPEndPoint)client.RemoteEndPoint;

// string SendFileName = System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client));

// string BagSize = System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client));

// int bagCount = int.Parse(System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client)));

// string bagLast = System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client)); int file_name = 1;

string fileaddr = "E:\old F directory\TangWei\Copy of kangge\" + file_name.ToString() + ".jpg"; FileStream MyFileStream = new FileStream(fileaddr, FileMode.Create, FileAccess.Write);

// int SendedCount = 0;

while(true) { byte[] data = TransferFiles.ReceiveVarData(client); if(data.Length == 0) { break; } else { // SendedCount++; MyFileStream.Write(data, 0, data.Length); } }

MyFileStream.Close();

client.Close();

this.button2.Enabled = true; }

公共类。 TransferFiles

class TransferFiles {

public TransferFiles() {

}

public static int SendVarData(Socket s, byte[] data) // return integer indicate how many data sent. { int total = 0; int size = data.Length; int dataleft = size; int sent; byte[] datasize = new byte[4]; datasize = BitConverter.GetBytes(size); sent = s.Send(datasize);//send the size of data array.

while (total < size) { sent = s.Send(data, total, dataleft, SocketFlags.None); total += sent; dataleft -= sent; }

return total; }

public static byte[] ReceiveVarData(Socket s) // return array that store the received data. { int total = 0; int recv; byte[] datasize = new byte[4]; recv = s.Receive(datasize, 0, 4, SocketFlags.None);//receive the size of data array for initialize a array. int size = BitConverter.ToInt32(datasize, 0); int dataleft = size; byte[] data = new byte[size];

while (total < size) { recv = s.Receive(data, total, dataleft, SocketFlags.None); if (recv == 0) { data = null; break; } total += recv; dataleft -= recv; }

return data;

} }

㈣ C语言实现从FTP下载、上传文件

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。1.C语言可以使用函数打开本地文件。使用类CInternetSession 创建并初始化一个Internet打开FTP服务器文件。 CStdioFile继承自CFile,一个CStdioFile 对象代表一个用运行时函数fopen 打开的C 运行时流式文件。流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile 对象时,字节对(0x0D,0x0A)被发送给该文件。当你读一个文件时,字节对(0x0D,0x0A)被翻译为一个字节(0x0A)。CStdioFile 不支持Duplicate,LockRange,和UnlockRange 这几个CFile 函数。如果在CStdioFile 中调用了这几个函数,将会出现CNoSupported 异常。使用类CInternetSession 创建并初始化一个或多个同时的Internet 会话。如果需要,还可描述与代理服务器的连接。如果Internet连接必须在应用过程中保持着,可创建一个类CWinApp的CInternetSession成员。一旦已建立起Internet 会话,就可调用OpenURL。CInternetSession会通过调用全局函数AfxParseURL来为分析映射URL。无论协议类型如何,CInternetSession 解释URL并管理它。它可处理由URL资源“file://”标志的本地文件的请求。如果传给它的名字是本地文件,OpenURL 将返回一个指向CStdioFile对象的指针。如果使用OpenURL在Internet服务器上打开一个URL,你可从此处读取信息。如果要执行定位在服务器上的指定的服务(例如,HTTP,FTP或Gopher)行为,必须与此服务器建立适当的连接。

㈤ 电脑怎么上传文件

问题一:怎么用电脑给别人传文件啊。 及时传输:QQ→线传送文件 网盘传输:上传到网盘,给网址 邮件传输:发邮件,带附件。截图交流 打不开,是因为你发送的是压缩文件,对方不懂,或者没有解压缩软件,装一个即可。 网络系列经验:《电脑维护 第六篇液桥》jingyan./season/35120 问题二:怎么在QQ上把自己电脑上的文件传到QQ上?? 直接添加附件啊,或者文件大的话就点击那个超打大附件上传 问题三:电脑上怎么样往群里上传文件 有两种方法。 1.点击群文件,有个上传按钮。 2.直接把文件发到群里,就会自动上传。 问题四:怎么设置不让电脑上传文件 如果一点都不可以上传那是不可能的!网络传数据是要三次握手!比如A机是你现在的PC机,比如网络是B机,首先,A机先发一个数据给网络说(我要与你连接),同时B机回(好的,我锋嫌与你连接),然后A机就连上去(好的).才可以上网络,如果要分开,一样的道理.请问,在这三次连接时是不是要上,下传数据; 不过,你可以用FW控制一部分的流量,如果你比较有钱,可以用硬防火强,路由,,这些都可以办到,相反,你可以用软路由也可以完成比如RouterOS 还可以在Linux 下的很多软件,P2P只能控制上网等等,但不可以限BT 问题五:怎样使电脑传文件更快 摄像机往电脑传文件取决于USB接口的速度,比如说,你摄像机的是USB1.1的插上电脑的USB2.0的只有1.1的速度 而2.0的插上1.1的也只有1.1的速度,所以只有两台设备的接口都是2.0速度就会比较快。 另外,电脑前置的U口和后置的U口速度也不一样,前置的接口是通过一根延长线接到主板上的,往往导致接口的供电不足和速率降低,而后置的接口是直接连主板的。 所以一般连接耗电量大的外设时最好接在后置的u *** 接口上。 如果你想改造的话,可以找一根传输性能良好且带屏蔽的导线将原来的延长线替换下来,基本也可以达到与后置接口差不多的效果。 问题六:电脑如何操作联机传文件 这是我在多特网 看到的方法,你可以试一下 XP访问Windows 7共享文件的方法 许多局域网用户发现,安装了Windows7后,网络中的文件夹相互共享会出现问题,经常会出现安装XP系统的电脑无法访问Windows7的共享文件夹,有些虽然能看到Windows7下的共享目录,但是一旦进入目录,就会提示没有访问权限。经过笔者近几天的苦心研究,终于发现只需要几步修改,就能让XP和Windows7之间进行互通,不再会出现共享文件夹无法访问的情况。 首先,进入到“网络和共享中心”进行设置,将Windows的防火墙关闭。虽然这样做会有不安全的风险,但是为了能实现不同系统间的相互访问,也只能不得已而为之了。 在关闭了Windows防火墙后,下一步要进入到防火墙设置界面左边的“高级设置”中,对“入站规则”和“出站规则”进行修改。在这两个规则中,分别找到“文件和打印机共享”选项,并且将其全部选项设定成“Allow all connection”。 在进行完以上设定后,要进入到“用户帐户”里,开启“Guest”帐户,并且在系统服务里,开启对应的共享功能。至此,共享的设定已经完成得差不多了。最后是对所对应的共享文件夹进行设置。如果熟悉XP共享设置的用户,基本上可以很方便的对以下设置进行操作,其Windows7设置共享的理念和XP几乎是相同的,有所区别的只是设置的路径有所不同。 第一步选择要共享的文件夹,单击右键选择“属性”,在“共享”的选项卡里选择“高级共享”,并且将“共享此文件夹”前的钩打上,随后在“权限”中依次点击“添加”――“高级”―闹基猛―“立即查找”。然后在查找的结果中选择“Everyone”以及“Guest”并确认即可。 通过以上步骤基本上可以解决99%的XP无法访问Windows7的共享文件夹的问题,当然也不排除通过以上方法依然出现访问异常。为此建议可以暂时关闭额外安装的杀毒软件或者诸如天网等第三方的网络防火墙,以免其它网络防火墙对访问造成阻碍。 问题七:怎么把别的电脑里的文件传到自己的电脑 你可以用移动硬盘拷贝进去,在复制到你的机子上啊~ 或者去申请个FTP,把文件上传上去,然后你从你用电脑下载下来啊~ 不管你是拷贝或者上传,都把源文件的文件压缩下~ 还有种最方便的方法,就是:你把他电脑上的硬盘拆下来,和你的电脑连接在一起,直接从他的硬盘复制到你自己的C:D:E:F:任意一个盘上就可以了,实际上和移动硬盘差不多,只是要拆机子,麻烦点而已,不过是最简单的~ 问题八:电脑无法上传文件怎么办啊? 1 重新做一下网线就可以了。 2 UPnP协议可能未安装,,, 或者建议: 1、升级病毒库,查毒、杀毒; 2、将IE设置全部还原; 3、重装系统。 问题九:怎么用打印机把文件传到电脑上 你的打印机要具备扫描功能才能实现 问题十:怎样把电脑里的东西传到笔记本里面 ! 两台电脑都插网线接到无线路由上,用QQ发过去(记得设置好路径,只恭在接收文件时点另存为,然后设置路径(比如D盘)就成了别都扔C盘了),速度大概在10M/s左右。 这个方法简易可用,楼主还是用这个吧・・・


赞 (0)