
导读:电脑微信怎么发送文件夹,具体方法如下:1首先大家要知道,微信电脑版是不可以直接发送文件夹的,但是大家可以将文件夹打包压缩再进行发送。2右键点击想要发送的文件夹,并选择“创建压缩文件”,前提是电脑安装了压缩软件(例如WinRAR)。3然后在点
电脑微信怎么发送文件夹,具体方法如下:
1首先大家要知道,微信电脑版是不可以直接发送文件夹的,但是大家可以将文件夹打包压缩再进行发送。
2右键点击想要发送的文件夹,并选择“创建压缩文件”,前提是电脑安装了压缩软件(例如WinRAR)。
3然后在点击“立即压缩”等待压缩完成。
4最后将压缩后的软件直接拖动到微信聊天窗口,发送给对方。压缩后的文件变小了,传输也比较快一些。
电脑微信如何传文件到手机?
微信可以在电脑同时在电脑端和手机端登录,通过这种方式,小伙伴们能够快速实现文件从电脑传送到手机,不需要借助于优盘或者数据线等,省时省力。
首先,分别登录电脑以及手机微信,在电脑客户端登录时,需要扫描二维码。
点击登录。
登录后点击界面左侧顶端的文件传输助手。
选择需要传输的文件鼠标拖动到内容输入框后点击发送。
打开手机微信聊天界面,同样点击文件传输助手。
这时我们就发现,电脑上的文件已经传输到手机上啦,直接打开即可查看内容。
要将电脑上的PPT发送到手机,你可以尝试以下方法:
1 使用微信官方客户端或网页版:将PPT文件发送给自己的微信账号,可以使用微信官方客户端或在电脑上使用微信网页版。
- 在电脑上,登录你的微信账号并与手机上的微信保持在线状态。
- 在电脑上找到需要发送的PPT文件,选择发送到微信的联系人,选择自己的微信账号,并将PPT文件发送给自己。
2 使用其他云存储服务:将PPT文件上传到某些云存储服务(如百度云、腾讯微云、Google Drive等),然后通过手机上的云存储应用或微信内置的文件传输功能,将文件下载到手机上。
- 在电脑上将PPT文件上传到云存储服务,确保上传完成后可以在手机上访问到文件。
- 在手机上打开微信,找到文件传输或云存储应用,登录并访问相应的云存储服务。
- 在云存储应用中找到上传的PPT文件,手机上。
这样,你就可以将电脑上的PPT文件发送到手机微信上进行阅读和共享了。
需要注意的是,在使用服务时,请确保你的文件隐私和安全得到保护,避免将敏感信息上传到公共云服务上。
电脑传手机
1
在使用微信电脑客户端往手机上面传文件的时候先要登录到微信网页客户端,然后点击右上角的传输文件按钮,如图:
2
点击传输文件按钮之后打开文件传输助手窗口,在窗口上面点击文件按钮,如图:
3
点击文件按钮之后再打开窗口上面找到要传到手机的文件,然后点击选择文件再点击打开按钮,如图:
4
点击打开按钮之后,文件就会上传,这样在手机上面就会收到通过文件传输助手从电脑上传来的文件
END
手机传电脑
在用微信从手机往电脑上上传文件的时候也要先登录到微信网页客户端,然后在手机上面点击文件传输助手,如图:
点击文件传输助手之后,再文件传输助手窗口上面点击“+”按钮,然后在菜单上面点击要上传的文件类型,或者视频等,如果上传就点击,如图:
点击之后,出现上拉菜单,如果要上传手机里面的就在菜单上面点击从相册选择按钮吗,如图:
点击从相册选择之后进入到手机相册,选中要上传的,在右上角打上勾,然后在左下角选择原图,再点击发送按钮如图:
点击发送之后就成功上传到电脑上面了,在微信网页客户端上就可以看到从手机上面上传的文件了
基于p2p的即时聊天和文件传输软件
摘 要
随着计算机网络技术的飞速发展,人们对于网络的依赖性也越来越大。通过网络的即时通信也越来越受到人们的喜爱,比如说现在非常流行的QQ即时通信软件就解决了人们在网络中交流的需求。
基于p2p的即时聊天和文件传输软件,是基于tcp/ip协议中的tcp和udp协议完成的一个能够完成即时通信和传输文件的软件,该软件实现了局域网内的通行,在不需要使用公网的情况下,使用该软件作为通信和传输文件的工具,既简单又安全。
该软件采用了通信模型中的p2p模型,使用java语言实现,实现原理较简单功能较单一,界面美化度较低。是一款简单的即时通信和文件传输软件。
关键词: 计算机网络 ; p2p ; tcp ; udp ; 通信和文件传输软件
目 录
1 引言 1
11 课题背景 1
12 国内外现状 1
13 本课题研究的迫切性 1
14 本文的主要工作 1
2需求分析和开发工具 1
21需求分析 1
22开发工具 2
3系统总体结构设计 3
31 基本简介 3
32 系统功能模块设计 3
33 功能模块介绍 4
4系统流程与实现 5
41 系统设计流程 5
411 即时聊天功能的流程设计5
412 文件传输功能系统实现6
42实现 8
5 测试 10
结 论 13
参考文献 13
1 引言
11 课题背景
网络的发展促进了通信的发中,通信的发展反过来让网络发展的更大更快,通信作为我们日常生活中不可或缺的东西,正在改变着人们的生活。比如说QQ即时通信软件就为人们的生活和学习带来了极大的方便。但是人们有时需要和与自己同一个局域网内的用户通信而通信的内容不通过公网来保证通信的安全,防止黑客或者一些心怀不轨的人通过非法的手段获取到通信的内容。因为一旦信息泄露了就有可能带来不可估量的损失。在这种情况下,基于p2p的即时聊天和文件传输的软件就产生了。
12 国内外现状
网络的普及也让一些人获得了获取了更多的信息。通过窃听,篡改,重放等攻击
的手机来阻止,或者是窃取别人的有用信息,这种事在一些大型的公司里曾经就发生过。现在一些大型的公司自己会去开发适合自己公司的即时通信软件来防止此类的安全事件出现,因此基于p2p的即时聊天和文件传输的应用开发现在仍然受到关注。
13 本课题研究的迫切性
基于p2p的即时聊天和文件传输软件的实现能够帮助我们了解基于p2p的软件的实现原理和过程,为我们以后开发一些大型的p2p的软件提供了技术上的保证。同时该软件能够用于局域网的通信和传输文件,具有一定的实际意义。
14 本文的主要工作
本文主要介绍了基于p2p的即时聊天和文件传输的软件的实现原理和实现的过
程,针对软件的原理和过程进行深入的讲解。同时本文可以作为基于p2p的即时聊天和文件传输的软件的使用说明书,通过具体而详细的阐述,让大家更容易的理解基于p2p的即时聊天和文件传输的软件的实现原理和实现的过程。
2需求分析和开发工具
21需求分析
由于国内外的安全现状不容乐观,人们通信的时的信息很容易会被黑客们获取,为
了在局域网中安全简单的痛信,人们就开发了基于p2p的即时通信和文件传输软件。该软件能够实现在局域网内和其他人通信,从而保证了通信的安全,让人们拥有更加安全和简单的痛信环境。同时,由于该软件是使用java语言开发,具有平台无关性。能够在不同的操作系统的平台下完成即时通信和文件传输的功能。
22.p2p的即时聊天和文件传输软件的功能
p2p的即时聊天和文件传输软件有以下功能:
(1)局域网内点对点通信,
能够同一时间和多个人,在不同的ip和端口上实现通信
(2)简单文件传输
能够传输1M以上的文件
(3)能够在多个平台下实现通信
Java平台无关性
22开发工具
开发环境 java
开发工具 Myeclipse
TCP协议的工作流程下图所示:
UDP协议的工作流程下图所示:
3系统总体结构设计
31 基本简介
p2p的即时聊天和文件传输软件采用tcp和udp协议,使用java语言实现基于p2p的
即时聊天和文件传输的功能。同时,由于采用java语言实现具备了在多种平台下运行的优点。该软件主要包括两大部分,聊天部分和文件传输部分。聊天部分采用了udp协议,文件传输部分采用了tcp协议。
32 系统功能模块设计
p2p的即时聊天和文件传输软件实现了以下功能
(1)即时聊天功能
(2)文件传输功能
(3)记录查询聊天内容
33 功能模块介绍
即时聊天功能采用udp协议实现。聊天时用户必须输入通信对方的ip和端 口号 ,对
方只需要知道消息发送方的端口号,就能够收到信息。对方收到信息后,同样必须输入ip才能回复消息给对方。通信模型如下图
聊天功能实现模型图
文件传输功能是采用tcp协议实现的,tcp协议的面向连接,可靠性,面向字节流
等优点,以及差错控制,流量控制等特点,保证了文件传输的可靠性。整个流程是,文件发送方首先选择文件,在选择文件后,先发送文件的名称和大小给接收者。接收这如果同意接收文件则由接收者作为客户端向发送端发起连接,连接建立后,发送端开始传送文件给接收端。实现模型如下图所示
文件传输功能
4系统流程与实现
41 系统设计流程
411 即时聊天功能的流程设计
采用DUP协议设计即时聊天功能,在即时聊天功能中,设计了一个发送端和一个接收端,发送端和接收端处于同一个平台中,为了使通信双方能够造一次连接中进行多次通信在接收端采用了多线程,实现多次通信。
在通信建立的时候,通信的发起方首先填写通信的ip地址和port端口,然后发送消息给接收者。接受者需要在同样的端口上等待发起者的信息。
发送端:
发送端工作流程图
接收端:
接收端工作流程图 412 文件传输功能系统实现
使用TCP协议实现文件传输功能,在文件传输开始时,由发送方给接收方发送一个消息,消息内容为待发送文件的文件名和长度。接收端收到后判断是不是传送的文件,如果是传送的文件接收方择是否接收文件。然后开始传输文件,文件传输完成后,自动关闭服务器端和客户端。
发送端:
接收端:文件传输发送端工作流程
N
42实现
基于p2p的即时通信和文件传输软件的实现是采用窗体的形式。在实现过程中设计到几点主要的功能
首先即时通信功能的发送端的实现,首先创建DUP的socket套接字和UDP
数据报包
在数据包中写入消息发送到接收端。
主要实现代码:
public void send() throws Exception{
DatagramSocket ds2=new DatagramSocket();
DatagramPacket dp2=new DatagramPacket(strmsggetBytes(),
strmsggetBytes()length,InetAddressgetByName(ip),port);
ds2send(dp2);
ds2close();
}
接收端,还是创建DUP的socket套接字和UDP数据报包,然后接收数据。 DatagramSocket ds=new DatagramSocket(port);//udp的socket
DatagramPacket dp=new 套接字
DatagramPacket(buf,buflength);//udp数据报包
dsreceive(dp);
传送文件的实现过程:
发送文件的窗体采用另一个frame完成,在frame中完成了,选择和发送文件
sendmessage sm = new
sendmessage("file"+filepathgetText()toString(),
mainFrameipgetText(),IntegerparseInt(mainFrameportgetText()toString()));
smsend();
ServerSock ss=new
ServerSock(IntegerparseInt(mainFrameportgetText()toString()),filepathgetText()toString());
ssstart();
选择文件后,发送端使用UDP发送文件名和文件大小给接收端。如果接收端确认,就开始传输文件
接收后,显示的接收和拒接的信息,以供接收端接收
if(new String(buf)substring(0, 4)equals("file")){ mainFramejieshoufilesetText("收到文件:"+str+"是否接收?");
mainFramejieshouwenjiansetEnabled(true); mainFramejieshouwenjiansetEnabled(true);
mainFramejieshouwenjiansetText("接收"); mainFramejujuesetText("拒绝"); }
接收端点击接受后,创建clientsocket去连接服务器端,然后服务器开始传送文件
new Client(jfcgetSelectedFile()getPath())
接收数据
public DataInputStream getMessageStream() throws Exception {
try {
getMessageStream = new DataInputStream(new
BufferedInputStream(socketgetInputStream()));
return getMessageStream;
} catch (Exception e) {
eprintStackTrace();
if (getMessageStream != null)
getMessageStreamclose();
throw e;
} finally {
}
写入到文件
while (true) {
int read = 0;
if (inputStream != null) {
read = inputStreamread(buf);
}
passedlen += read;
if (read == -1) {
peak;
}
5 测试
软件界面,发送端和接收采用一个软件进行通信。
发送端:
接收端:
文件发送端
文件接收端
结 论
基于p2p的即时聊天和文件传输的软件有效解决了局域网内通信的问题,实现了局域网内即时聊天和文件传输。在软件实现的过程充分运用了在网络编程中学习的TCP和UDP的socket编程,并把二者有效的结合。通过这次课程设计,也掌握了文件传输和聊天的过程中的java实现。在设计过程中查阅了相关的java API和一些实现即时聊天和文件传输的例子,从中学习到了很多书本上没有的知识。为自己在以后的软件开发中积累了一些经验。
同时软件的设计和实现过程中也存在很多问题。比如,人机交互界面的设计不是很合理,在文件传输时就不能做其他的事情。没有运用多线程实现等等。这些问题说明了我在平时的学习中还需要合理有效的运用所学知识去设计和实现。
参考文献
[1]甘刚Linux/NUIX网络编程[M].北京:中国水利水电出版社,2008。
[2] 叶树华.网络编程实用教程[M].北京:人民邮电大学出版社,2010。
[3] 杜佳荣, 马建红, 滕振宇.Java网络编程技术与实践[M].北京:清华大学出版社,2008。
电脑上的文档发到手机QQ上的方法:
1、同时登录电脑QQ和手机QQ,点击联系人按钮,选择我的设备,打开我的手机,选择发送文件选项,选中文件后点击打开即可。
2、或者将文件拖到输入框,即可发送到手机。
QQ是腾讯QQ的简称,是腾讯公司开发的一款基于Internet的即时通信(IM)软件。目前QQ已经覆盖Microsoft Windows、OS X、Android、iOS、Windows Phone等多种主流平台。其标志是一只戴着红色围巾的小企鹅。腾讯QQ支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与多种通讯终端相连。
2017年1月5日,腾讯QQ和美的集团在深圳正式签署战略合作协议,双方将共同构建基于IP授权与物联云技术的深度合作,实现家电产品的连接、对话和远程控制。双方合作的1、是共同推出基于QQfamily IP授权和腾讯物联云技术的多款智能家电产品。2018年12月12日,QQ发布公告,称由于业务调整,webQQ即将在2019年1月1日停止服务,并提示用户下载QQ客户端。2019年2月,腾讯称,QQ799及以上版本实现QQ号码注销功能,满足注销条件即可申请注销。3月13日起,QQ号码可正式注销。2019年11月,“腾讯QQ”的小程序在微信上线。
服务器端源码:
import javaioBufferedReader;
import javaioFile;
import javaioFileNotFoundException;
import javaioFileOutputStream;
import javaioIOException;
import javaioInputStream;
import javaioInputStreamReader;
import javanetServerSocket;
import javanetSocket;
/
文件名:ServerReceivejava
实现功能:作为服务器接收客户端发送的文件
具体实现过程:
1、建立SocketServer,等待客户端的连接
2、当有客户端连接的时候,按照双方的约定,这时要读取一行数据
其中保存客户端要发送的文件名和文件大小信息
3、根据文件名在本地创建文件,并建立好流通信
4、循环接收数据包,将数据包写入文件
5、当接收数据的长度等于提前文件发过来的文件长度,即表示文件接收完毕,关闭文件
6、文件接收工作结束
public class ServerReceive {
public static void main(String[] args) {
/与服务器建立连接的通信句柄/
ServerSocket ss = null;
Socket s = null;
/定义用于在接收后在本地创建的文件对象和文件输出流对象/
File file = null;
FileOutputStream fos = null;
/定义输入流,使用socket的inputStream对数据包进行输入/
InputStream is = null;
/定义byte数组来作为数据包的存储数据包/
byte[] buffer = new byte[4096 5];
/用来接收文件发送请求的字符串/
String comm = null;
/建立socekt通信,等待服务器进行连接/
try {
ss = new ServerSocket(4004);
s = ssaccept();
} catch (IOException e) {
eprintStackTrace();
}
/读取一行客户端发送过来的约定信息/
try {
InputStreamReader isr = new InputStreamReader(sgetInputStream());
BufferedReader br = new BufferedReader(isr);
comm = brreadLine();
} catch (IOException e) {
Systemoutprintln("服务器与客户端断开连接");
}
/开始解析客户端发送过来的请求命令/
int index = commindexOf("/#");
/判断协议是否为发送文件的协议/
String xieyi = commsubstring(0, index);
if(!xieyiequals("111")){
Systemoutprintln("服务器收到的协议码不正确");
return;
}
/解析出文件的名字和大小/
comm = commsubstring(index + 2);
index = commindexOf("/#");
String filename = commsubstring(0, index)trim();
String filesize = commsubstring(index + 2)trim();
/创建空文件,用来进行接收文件/
file = new File(filename);
if(!fileexists()){
try {
filecreateNewFile();
} catch (IOException e) {
Systemoutprintln("服务器端创建文件失败");
}
}else{
/在此也可以询问是否覆盖/
Systemoutprintln("本路径已存在相同文件,进行覆盖");
}
/以上就是客户端代码中写到的服务器的准备部分/
/
服务器接收文件的关键代码/
try {
/将文件包装到文件输出流对象中/
fos = new FileOutputStream(file);
long file_size = LongparseLong(filesize);
is = sgetInputStream();
/size为每次接收数据包的长度/
int size = 0;
/count用来记录已接收到文件的长度/
long count = 0;
/使用while循环接收数据包/
while(count < file_size){
/从输入流中读取一个数据包/
size = isread(buffer);
/将刚刚读取的数据包写到本地文件中去/
foswrite(buffer, 0, size);
fosflush();
/将已接收到文件的长度+size/
count += size;
Systemoutprintln("服务器端接收到数据包,大小为" + size);
}
} catch (FileNotFoundException e) {
Systemoutprintln("服务器写文件失败");
} catch (IOException e) {
Systemoutprintln("服务器:客户端断开连接");
}finally{
/
将打开的文件关闭
如有需要,也可以在此关闭socket连接
/
try {
if(fos != null)
fosclose();
} catch (IOException e) {
eprintStackTrace();
}//catch (IOException e)
}//finally
}//public static void main(String[] args)
}//public class ServerReceive
客户端源码:
import javaioFile;
import javaioFileInputStream;
import javaioFileNotFoundException;
import javaioIOException;
import javaioOutputStream;
import javaioPrintStream;
import javanetSocket;
/
文件名:ClientSendjava
实现功能:作为客户端向服务器发送一个文件
具体实现过程:
1、建立与服务器端的连接,IP:127001, port:4004
2、将文件的名字和大小通过自定义的文件传输协议,发送到服务器
3、循环读取本地文件,将文件打包发送到数据输出流中
4、关闭文件,结束传输
/
public class ClientSend {
public static void main(String[] args) {
/与服务器建立连接的通信句柄/
Socket s = null;
/定义文件对象,即为要发送的文件
如果使用绝对路径,不要忘记使用'/'和'\'的区别
具体区别,请读者自行查询
/
File sendfile = new File("APICHM");
/定义文件输入流,用来打开、读取即将要发送的文件/
FileInputStream fis = null;
/定义byte数组来作为数据包的存储数据包/
byte[] buffer = new byte[4096 5];
/定义输出流,使用socket的outputStream对数据包进行输出/
OutputStream os = null;
/检查要发送的文件是否存在/
if(!sendfileexists()){
Systemoutprintln("客户端:要发送的文件不存在");
return;
}
/与服务器建立连接/
try {
s = new Socket("127001", 4004);
}catch (IOException e) {
Systemoutprintln("未连接到服务器");
}
/用文件对象初始化fis对象
以便于可以提取出文件的大小
/
try {
fis = new FileInputStream(sendfile);
} catch (FileNotFoundException e1) {
e1printStackTrace();
}
/首先先向服务器发送关于文件的信息,以便于服务器进行接收的相关准备工作
具体的准备工作,请查看服务器代码。
发送的内容包括:发送文件协议码(此处为111)/#文件名(带后缀名)/#文件大小
/
try {
PrintStream ps = new PrintStream(sgetOutputStream());
psprintln("111/#" + sendfilegetName() + "/#" + fisavailable());
psflush();
} catch (IOException e) {
Systemoutprintln("服务器连接中断");
}
/
此处睡眠2s,等待服务器把相关的工作准备好
也是为了保证网络的延迟
读者可自行选择添加此代码
/
try {
Threadsleep(2000);
} catch (InterruptedException e1) {
e1printStackTrace();
}
/之前的准备工作结束之后
下面就是文件传输的关键代码
/
try {
/获取socket的OutputStream,以便向其中写入数据包/
os = sgetOutputStream();
/ size 用来记录每次读取文件的大小/
int size = 0;
/使用while循环读取文件,直到文件读取结束/
while((size = fisread(buffer)) != -1){
Systemoutprintln("客户端发送数据包,大小为" + size);
/向输出流中写入刚刚读到的数据包/
oswrite(buffer, 0, size);
/刷新一下/
osflush();
}
} catch (FileNotFoundException e) {
Systemoutprintln("客户端读取文件出错");
} catch (IOException e) {
Systemoutprintln("客户端输出文件出错");
}finally{
/
将打开的文件关闭
如有需要,也可以在此关闭socket连接
/
try {
if(fis != null)
fisclose();
} catch (IOException e) {
Systemoutprintln("客户端文件关闭出错");
}//catch (IOException e)
}//finally
}//public static void main(String[] args)
}//public class ClientSend
发送文件问题有两个解决方法,如下:方法一,登陆微信网页版,选择接收人,这里以文件传输助手举例拖动文件/复制到下方的输入框,点击发送,完成。方法二,下载微信电脑客户端登陆电脑客户端,同样以文件传输助手举例拖动/复制文件到对话框传输完毕。微信在使用过程中丢失数据可以使用天盾微信聊天记录恢复软件恢复微信聊天记录:打开天盾微信聊天记录恢复软件。首先,设置微信版本为“版本微信”。(安卓版或苹果版)2然后,数据目录选择刚才导出时所保存的文件夹,再点击“读取数据”按钮。3界面将会显示该手机上所有登陆过的微信号码,最后选择一个想恢复聊天记录的微信号后点击“查看记录”按钮。4弹出的新窗口上将会显示该微信号所有的微信好友及所有的聊天记录,但此时显示出来的只是未删除的聊天记录。接下来,先点击“扫描删除聊天记录”,然后点击“确定”。5请耐心等待扫描恢复即可,恢复完毕,点击“确认”。显示成功恢复了xx条已删除的微信聊天记录。











.jpg)










.jpg)
.jpg)
.jpg)
.jpg)

.jpg)



.jpg)
.jpg)
.jpg)

.jpg)

.jpg)

.jpg)